Does MYSQL overwrite a column of same value on upd

2019-01-15 18:22发布

问题:

When updating a table in mysql, for example:

Table user

user_id | user_name

1         John
2         Joseph
3         Juan

If I run the query

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

Will MYSQL write the same value again or ignore it since it's the same content?


This is a Q&A question I made, as Stack Overflow encourages it, I think it will be helpful in the future for the fellow programmers with the same question.

回答1:

As the MYSQL Manual for the UPDATE statement implies,

If you set a column to the value it currently has, MySQL notices this and does not update it.

So, if you run this query, MYSQL will understand that the value you're trying to apply is the same as the current one for the specified column, and it won't write anything to the database.