UPDATE
UpdateStmt:
PriorityOpt:
TableRefs:
AssignmentList:
WhereClauseOptional:
Query OK, 0 rows affected (0.11 sec)
INSERT INTO t1 (c1) VALUES (1), (2), (3);
SELECT * FROM t1;
| id | c1 |
+----+----+
| 2 | 2 |
| 3 | 3 |
+----+----+
3 rows in set (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
在计算表达式中的列时,TiDB 总使用原始的值。例如:
CREATE TABLE t (a int, b int);
INSERT INTO t VALUES (1,2);
UPDATE t SET a = a+1,b=a;
在 MySQL 中,b
列的值会被更新成 2,因为 b
列被设置为与 a
列相同,而 (最初是 1)在同一条语句中被更新成了 2。