更新 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中文网其他相关文章!