1 行。
但我如何知道是否只更新了1个列或多于一个?
mysql> select * from table1;
+------+------+--------+
| pid | name | city |
+------+------+--------+
| 1 | aa | delhi |
| 2 | bb | delhi |
| 3 | cc | mumbai |
| 4 | abc | mumbai |
+------+------+--------+
4 rows in set (0.00 sec)
mysql> update table1 set city='pune', name='salman' where pid = 4;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
答案 0 :(得分:0)
即使列值相同,MySQL也会覆盖结果。它不会检查当前列值和新列值是否相同,它只是按照您的意思执行 - 因为您是决定更新内容的人。
答案 1 :(得分:0)
视觉上你可以通过再次运行你的选择来检查,但我认为你不想这样。
一种方法是存储更改历史记录并为当前行使用某种标记。所以你要选择当前行,并更新当前行以弃用它,然后插入包含所有数据的新行。