MySQL 在更新期间会覆盖未更改的列吗?
更新 MySQL 表时,如提供的示例所示:
user_id | user_name |
---|---|
1 | John |
2 | Joseph |
3 | Juan |
如果执行以下查询:
<code class="sql">UPDATE `user` SET user_name = 'John' WHERE user_id = 1</code>
尽管预期的更改与现有值相同,MySQL 是否会修改“user_name”列?
MySQL 的方法未更改的列值
根据 UPDATE 语句的 MySQL 文档:
“如果将列设置为当前的值,MySQL 会注意到这一点并且不会更新它。 “
在我们的例子中,MySQL 识别出 user_id 1 的预期“user_name”值与当前值相同。因此,MySQL 将避免修改数据库。
因此,查询将在不更改表数据的情况下执行,因为 MySQL 检测到指定列不需要实际更改。
以上是MySQL 在更新期间是否更新未更改的列?的详细内容。更多信息请关注PHP中文网其他相关文章!