UPDATE titles_test
SET emp_no = REPLACE(emp_no, 10001, 10005)
WHERE id = 5;

也是第一次听说这个语句。

注意两点: 1.直接使用replace()需要列出所有列的值,否则系统会自动填充默认值,或者报错。 2.replace()的两种用法。

-- 更新所有数据
replace table_name
set column1 = 'value1',
    column2 = 'value2'

-- 更新特定数据
replace(x,y,z)
-- x表示要更新的列名索引
-- y表示需要被更新的数据
-- z表示更新后的数据
-- 会更新表格中这一列所有符合条件的数据