SQL238 将id=5以及emp_no=10001的行数据替换成id=5以及emp_no=10005
SQL238 将id=5以及emp_no=10001的行数据替换成id=5以及emp_no=10005
题目描述
将id=5以及emp_no=10001的行数据替换成id=5以及emp_no=10005,其他数据保持不变,使用replace实现,直接使用update会报错。
思路
1、使用replace
sql UPDATE titles_test SET emp_no = REPLACE(emp_no, 10001, 10005) WHERE id = 5;
2、使用insert
有遇到重复主键了就进行更新emp_no的值
sql INSERT INTO titles_test VALUES(5, 10001 ,'Senior Engineer', '1986-06-26', '9999-01-01') ON DUPLICATE KEY UPDATE emp_no = 10005;
3、使用replace into
REPLACE INTO当遇到primary 或者 unique key 的时候,会首先进行update
sql REPLACE INTO titles_test VALUES(5, 10005 ,'Senior Engineer', '1986-06-26', '9999-01-01') ;
代码
update
titles_test
set
emp_no = REPLACE(emp_no, 10001, 10005)
where
id = 5;

浙公网安备 33010602011771号