【问题标题】:SQL query executing but not affecting rowSQL 查询执行但不影响行
【发布时间】:2021-05-17 11:29:50
【问题描述】:

所以我现在的数据库有些问题,我似乎无法更新变量,我只是想做一个简单的“更新”查询,这就是它的样子:

MY table

非常简单的表格,我要做的就是将“已发送”列从“否”更新为“是”。

我一直在使用 UPDATE 但由于某种原因这不起作用,没有语法错误只是说 0 行受到影响并且没有任何变化...

UPDATE `numbers` SET `Sent`='True' WHERE `fName`='John';

(我希望更改所有包含 fName = John....解释为什么我的陈述是错误的以及我做错了什么?

【问题讨论】:

    标签: sql phpmyadmin


    【解决方案1】:

    您需要对此进行调试。从select 查询开始:

    SELECT n.*
    FROM numbers n
    WHERE fName = 'John';
    

    这应该不返回任何行——这意味着你看到的不是你得到的。一个常见的问题是开头、结尾或两者(通常只是空格)的不可见字符。所以你可以试试:

    WHERE fName LIKE '%John'
    WHERE fName LIKE 'John%'
    WHERE fName LIKE '%John%'
    

    一旦你弄清楚什么是有效的,你就可以弄清楚在UPDATE 中使用什么或如何修复数据。

    【讨论】:

    • 谢谢,问题是不可见字符,感谢调试提示,下次遇到问题会使用它们!
    猜你喜欢
    • 2019-05-05
    • 2015-04-15
    • 2014-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多