题解 | #将id=5以及emp_no=10001的行数据替换成id=5以及emp_no=10005#
将id=5以及emp_no=10001的行数据替换成id=5以及emp_no=10005
http://www.nowcoder.com/practice/2bec4d94f525458ca3d0ebf3bc8cd240
知识点
- replace into 表名 (字段名,……) values(字段值,……)
- replace into 首先尝试插入数据到表中 (1)如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据。 (2) 否则,直接插入新数据。
- replace(X,Y,Z)函数。X是要处理的字符串,Y是X中将要被替换的字符串,Z是用来替换Y的字符串
代码
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
补充
- 本题若使用replace into需注意把行值写全因为若主键判定已有,则会先删除再插入不写全就会出现null值