MYSQL是否会在更新时覆盖相同值的列?

时间:2016-02-12 13:47:53

标签: mysql sql-update

在mysql中更新表时,例如:

  

user

user_id | user_name

1         John
2         Joseph
3         Juan

如果我运行查询

UPDATE `user` SET user_name = 'John' WHERE user_id = 1

MYSQL会再次写入相同的值还是忽略它,因为它是相同的内容?

这是我提出的一个Q& A问题,Stack Overflow encourages它,我认为对将来有同样问题的程序员来说会有所帮助。

1 个答案:

答案 0 :(得分:21)

正如MYSQL Manual for the UPDATE statement所暗示的那样,

  

如果将列设置为当前的值,MySQL会注意到这一点   并且不会更新它。

因此,如果您运行此查询,MYSQL将理解您尝试应用的值与指定列的当前值相同,并且它不会向数据库写入任何内容。