SQL 查询执行但不影响行

时间:2021-05-17 11:29:50

标签: sql phpmyadmin

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

MY table

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

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

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

(我希望更改包含 fName = John 的所有行的发送值......正如您在我的表中看到的那样,John 是数据库中的一个值,因此这应该有效,但由于某种原因不起作用)任何人都可以解释为什么我的陈述是错误的以及我做错了什么?

1 个答案:

答案 0 :(得分:1)

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

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

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

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

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