我只想更新数据库中的值(如果不同)。阅读有关 UPDATE 的 Oracle 文档,它说......
...UPDATE 语句用新值更新指定表中现有行的列。
既然它没有说它不会覆盖相同的值,我应该从字面上理解这个说法吗?这是否意味着 MySQL 会为我进行某种布尔匹配检查?
不,MySQL 不会覆盖相同的值。
假设我们插入一些数据:
insert into foo(id,val1,val2,val3) values (0,1,2,3);
Query OK, 1 row affected (0.00 sec)
Run Code Online (Sandbox Code Playgroud)
如果您使用相同的值更新它:
update foo set id=0, val1=1, val2=2, val3=3 where id=0;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 0
Run Code Online (Sandbox Code Playgroud)
查看服务器响应0 rows affected
| 归档时间: |
|
| 查看次数: |
1720 次 |
| 最近记录: |