2017-05-11 40 views
-3

更新列并使用与WHERE相同的列似乎不起作用。MySQL使用PDO准备的语句:更新X其中X = Y

例如,

UPDATE Customers 
SET Name ='Foo' 
WHERE Name ='Bar'; 

似乎并没有工作,但这个工作

UPDATE Customers 
SET Name ='Foo' 
WHERE OtherColumn ='Bar'; 

这是一个预期的行为?

更新:

我已经验证这两个将工作正常SQL更新,但使用预处理语句像这样的时候,不工作:

UPDATE Customers 
SET Name = :Name 
WHERE Name = :Name 
+1

两者都应该工作... –

+0

这里只有mysql;没有其他的。如果有什么不行的话;检查错误。 –

+0

错误是什么? – tech2017

回答

0

您没有提供所有相关码。

如果您在像this one这样的单个sql小提琴上进行测试,您可以看到它的确如每个人都对评论所说的那样有效。更新将被执行。

所以,你的问题的答案是否定的,这是不是预期的行为,除非你做错了什么。