MySQL 8.3 Release Notes
如果您在 UPDATE 语句中访问要更新的表的列,在表达式中,UPDATE
使用该列的当前值。以下语句中的第二个赋值将 col2
设置为当前(更新后的) col1
值,而不是原始的 col1
值。结果是 col1
和 col2
具有相同的值。这与标准 SQL 的行为不同。
UPDATE t1 SET col1 = col1 + 1, col2 = col1;
如果您在 UPDATE 语句中访问要更新的表的列,在表达式中,UPDATE
使用该列的当前值。以下语句中的第二个赋值将 col2
设置为当前(更新后的) col1
值,而不是原始的 col1
值。结果是 col1
和 col2
具有相同的值。这与标准 SQL 的行为不同。
UPDATE t1 SET col1 = col1 + 1, col2 = col1;