如果MySQL中的值相同,UPDATE是否会覆盖它们的值

不,如果值相同,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不会覆盖相同的值。