首页 > 数据库 >SQL238 将id=5以及emp_no=10001的行数据替换成id=5以及emp_no=10005

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

时间:2023-01-15 14:00:46浏览次数:49  
标签:10005 10001 no 替换成 emp id

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;

标签:10005,10001,no,替换成,emp,id
From: https://www.cnblogs.com/loongnuts/p/17053393.html

相关文章