题解 | #将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

将id=5以及emp_no=10001的行数据替换成id=5以及emp_no=10005

已知id为5的该条数据为:

('5', '10001', 'Senior Engineer', '1986-06-26', '9999-01-01'),

所以,可以有以下几种方式:

1、使用replace

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

2、使用insert

有遇到重复主键了就进行更新emp_no的值

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

REPLACE INTO titles_test 
    VALUES(5, 10005 ,'Senior Engineer', '1986-06-26', '9999-01-01') ;

关于插入insert 、replace 的一些用法,可以见我的博客:

Mysql 之 插入数据(insert into 、 replace into 解析)

全部评论
6,第二第三种直接写死。。。
2 回复 分享
发布于 2021-12-01 10:28
很明显,这道题的意思是想考察replace into
点赞 回复 分享
发布于 2023-10-20 11:14 北京
讲解的非常详细,尤其是单独写的解析,万分感谢。
点赞 回复 分享
发布于 2022-01-04 13:18
为啥update会报错,这样写不行? UPDATE titles_test SET emp_no = 10005 WHERE id = 5;
点赞 回复 分享
发布于 2021-08-05 09:40
你好,请问为什么我这边在两种环境下,第二种方案是运行失败的?很疑惑
点赞 回复 分享
发布于 2021-06-06 19:38

相关推荐

评论
103
11
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务