首页 >数据库 >mysql教程 >MySQL 是否会在更新时用相同的值覆盖现有值?

MySQL 是否会在更新时用相同的值覆盖现有值?

Barbara Streisand
Barbara Streisand原创
2024-11-02 22:41:30576浏览

Does MySQL Overwrite Existing Values with the Same Value on Update?

覆盖 MySQL 更新中的值

更新 MySQL 表时,通常会想知道数据库是否会用相同的值覆盖现有值。考虑下表:

<code class="sql">user_id | user_name
1         John
2         Joseph
3         Juan</code>

如果要执行以下查询:

<code class="sql">UPDATE `user` SET user_name = 'John' WHERE user_id = 1</code>

MySQL 会用相同的值覆盖 'John' 的现有值吗?忽略更新,因为值保持不变?

回答

根据 MySQL 文档UPDATE 语句:

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

在我们的例子中,user_name 列为user_id 1 已设置为“John”。因此,当您执行更新查询时,MySQL 将识别出新值与当前值相同,并且不会将任何更改写入数据库。

以上是MySQL 是否会在更新时用相同的值覆盖现有值?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn