首页 > 试题广场 >

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

[编程题]将id=5以及emp_no=10001的行数据替换成id=5
  • 热度指数:98566 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
将id=5以及emp_no=10001的行数据替换成id=5以及emp_no=10005,其他数据保持不变,使用replace实现。
CREATE TABLE IF NOT EXISTS 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');
示例1

输入

drop table if exists titles_test;
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');

输出

5|10005|Senior Engineer|1986-06-26|9999-01-01

好吧,感觉我的写法有种繁杂的感觉。

update titles_test set id=replace(id,id,5),emp_no=replace(emp_no,emp_no,10005) where id=5 and emp_no=10001;
发表于 2024-06-04 19:15:48 回复(0)
UPDATE titles_test
SET emp_no = REPLACE(emp_no, '10001', '10005')
WHERE id = 5;

发表于 2024-04-01 11:42:13 回复(0)
update titles_test 
set emp_no=replace(emp_no,emp_no,10005) 
where id=5;

发表于 2024-02-05 13:42:16 回复(0)
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;
发表于 2024-01-22 22:05:59 回复(0)
笔记
--replace into的用法
REPLACE INTO titles_test
SET id=5,emp_no='10005',title='Senior Engineer',from_date='1986-06-26',to_date='9999-01-01';

--UPDATE 后用 replace的用法
UPDATE titles_test
SET emp_no=REPLACE(emp_no,10001,10005)
WHERE id=5;
发表于 2023-10-12 14:50:16 回复(0)
新知识点:replace(字段名,旧值,新值)
update titles_test 
set emp_no=replace(emp_no,'10001','10005')
where id=5 and emp_no='10001'


发表于 2023-04-28 17:51:05 回复(0)
replace into titles_test values(5,10005,'Senior Engineer','1986-06-26','9999-01-01');

发表于 2022-12-27 23:54:04 回复(0)
update
  titles_test
set
  emp_no = replace(emp_no, 10001, 10005)
where
  id = 5
  and emp_no = 10001

发表于 2022-06-23 22:46:47 回复(0)
UPDATE titles_test 
SET EMP_NO = REPLACE(EMP_NO,'10001', '10005')
WHERE ID = '5'
AND EMP_NO = '10001'
;
发表于 2022-04-16 17:02:59 回复(0)
update titles_test set emp_no = REPLACE(emp_no, 10001, 10005)
WHERE id = 5;

发表于 2022-03-19 18:25:48 回复(0)
update titles_test set emp_no = replace(emp_no,"10001","10005") where id = 5;

发表于 2022-03-12 13:38:59 回复(0)
# # 方法一:赋值 REPLACE
# UPDATE titles_test
# SET emp_no = REPLACE(emp_no, 10001, 10005)
# WHERE id = 5;

# 方法二:使用赋值(本题设置后强制报错)
UPDATE TABLE title_test
SET emp_no=10005
WHERE id = 5


发表于 2022-02-10 19:41:19 回复(0)
为什么不能直接用update呀
发表于 2022-01-17 10:26:41 回复(0)
replace into titles_test
select id , 10005, title , from_date ,to_date from titles_test where id = 5
发表于 2021-12-30 16:34:33 回复(0)
replace into titles_test(id,emp_no,title,from_date,to_date)
select id,10005,title,from_date,to_date
from titles_test
where id = 5
不知道这样会有啥问题🤣
发表于 2021-11-19 10:08:13 回复(0)
update titles_test set emp_no=replace(emp_no,10001,10005) where id=5
REPLACE(String,from_str,to_str) 即:将String中所有出现的from_str替换为to_str。
发表于 2021-10-28 09:21:26 回复(0)
##2

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

发表于 2021-10-23 15:15:36 回复(0)
update titles_test set emp_no=replace(emp_no,10001,10005) where id=5 and emp_no=10001
replace(column_name,x,y)函数用法,将column_name由想,替换成y
使用update结合replace时,用法如下: update table_name set column_name = replace(column_name,x,y) where condition
将符合条件的column_name的值由x变更为y。
发表于 2021-09-27 11:31:57 回复(0)