不,如果值相同,MySQL UPDATE将不会覆盖它们。让我们首先创建一个表-mysql> create table DemoTable
(
StudentId int,
StudentMathMarks int,
StudentMySQLMarks int
);
使用插入命令在表中插入一些记录-mysql> insert into DemoTable values(1,56,78);
mysql> insert into DemoTable values(2,88,99);
mysql> inse
rt into DemoTable values(3,34,98);
使用select语句显示表中的所有记录-mysql> select *from DemoTable;
这将产生以下输出-+-----------+------------------+-------------------+
| StudentId | StudentMathMarks | StudentMySQLMarks |
+-----------+------------------+-------------------+
| 1 | 56 | 78 |
| 2 | 88 | 99 |
| 3 | 34 | 98 |
+-----------+------------------+-------------------+
3 rows in set (0.00 sec)
以下是更新值的查询。设置的值已存在于该特定列中,即学生ID 2,学生ID 2的数学标记88和SQL标记99-mysql> update DemoTable set StudentId=2,StudentMathMarks=88,StudentMySQLMarks=99 where StudentId=2;
Rows matched: 1 Changed: 0 Warnings: 0
查看上面的UPDATE命令,输出,受影响的0行表示UPDATE不会覆盖相同的值。