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

该博客介绍了如何使用 SQL 的 REPLACE 函数来更新特定行的数据。题目要求在 titles_test 表中将 id 为 5 且 emp_no 为 10001 的行的 emp_no 替换为 10005,同时保持其他字段不变。提供了两种方法,一种是直接使用 REPLACE 函数更新 emp_no 字段,另一种是通过赋值方式更新。内容涉及到 SQL 更新语句和数据操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章目录

1. 题目

  • 题目来源:SQL44 将id=5以及emp_no=10001的行数据替换成id=5以及emp_no=10005

  • 题目描述
    将id=5以及emp_no=10001的行数据替换成id=5以及emp_no=10005,其他数据保持不变,使用replace实现,直接使用update会报错。

  • 一张表

    CREATE TABLE titles_test (
       id int(11) not null primary key,
       emp_no  int(11) NOT NULL,
       title  varchar(50) NOT NULL,
       from_date  date NOT NULL,
       to_date  date DEFAULT NULL);
    
    insert into titles_test values
    ('1', '10001', 'Senior Engineer', '1986-06-26', '9999-01-01'),
    ('2', '10002', 'Staff', '1996-08-03', '9999-01-01'),
    ('3', '10003', 'Senior Engineer', '1995-12-03', '9999-01-01'),
    ('4', '10004', 'Senior Engineer', '1995-12-03', '9999-01-01'),
    ('5', '10001', 'Senior Engineer', '1986-06-26', '9999-01-01'),
    ('6', '10002', 'Staff', '1996-08-03', '9999-01-01'),
    ('7', '10003', 'Senior Engineer', '1995-12-03', '9999-01-01');
    
  • 所需结果
    后台会执行下面SQL语句得到结果,对比输出:

    select * from titles_test where id=5;
    

2. 题解

按照题目的额要求,必须强制使用 REPLACE

方法:

# 方法一:赋值 REPLACE

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

实际上不用REPLACE也是可以的:

# 方法二:使用赋值(本题设置后强制报错)

UPDATE TABLE title_test
SET emp_no=10005
WHERE id = 5

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值