所以我的数据库现在有一些问题,我似乎无法更新变量,我只是想做一个简单的“更新”查询,它看起来像这样:
非常简单的表格,我要做的就是将“已发送”列从否更新为是。
我一直在使用 UPDATE 但由于某种原因这不起作用,没有语法错误只是说 0 行受影响并且没有任何变化......
UPDATE `numbers` SET `Sent`='True' WHERE `fName`='John';
(我希望更改包含 fName = John 的所有行的发送值......正如您在我的表中看到的那样,John 是数据库中的一个值,因此这应该有效,但由于某种原因不起作用)任何人都可以解释为什么我的陈述是错误的以及我做错了什么?
答案 0 :(得分:1)
您需要对此进行调试。从 select
查询开始:
SELECT n.*
FROM numbers n
WHERE fName = 'John';
这不应该返回任何行——这意味着你看到的不是你得到的。一个常见问题是开头、结尾或两者(通常只是空格)的不可见字符。所以你可以试试:
WHERE fName LIKE '%John'
WHERE fName LIKE 'John%'
WHERE fName LIKE '%John%'
一旦您弄清楚什么有效,您就可以确定在 UPDATE
中使用什么或如何修复数据。