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

Phi*_*ter 19 mysql sql-update

在mysql中更新表时,例如:

user

user_id | user_name

1         John
2         Joseph
3         Juan
Run Code Online (Sandbox Code Playgroud)

如果我运行查询

UPDATE `user` SET user_name = 'John' WHERE user_id = 1
Run Code Online (Sandbox Code Playgroud)

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


这是我提出的一个问答问题,因为Stack Overflow鼓励它,我认为对于具有相同问题的同事程序员来说,它将来会有所帮助.

Phi*_*ter 29

正如UPDATE语句MYSQL手册所暗示的那样,

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

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

  • MySQL 是否会返回一些内容,说因为相同的值而无法更新,或者它什么也没说,因为当我尝试这样做时,它返回 0 , 0 在这里意味着什么?无法更新相同的数据或没有执行任何操作,或者如果存在任何与服务器相关的问题,那么它也会返回 0,对吗? (2认同)