首页 > 试题广场 >

批量插入数据,不使用replace操作

[编程题]批量插入数据,不使用replace操作
  • 热度指数:126370 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
题目已经先执行了如下语句:
drop table if exists actor;
CREATE TABLE actor (
   actor_id  smallint(5)  NOT NULL PRIMARY KEY,
   first_name  varchar(45) NOT NULL,
   last_name  varchar(45) NOT NULL,
   last_update  DATETIME NOT NULL);
insert into actor values ('3', 'WD', 'GUINESS', '2006-02-15 12:34:33');

对于表actor插入如下数据,如果数据已经存在,请忽略(不支持使用replace操作)
actor_id first_name last_name last_update
'3' 'ED' 'CHASE' '2006-02-15 12:34:33'
示例1

输入

drop table if exists actor;
CREATE TABLE actor (
   actor_id  smallint(5)  NOT NULL PRIMARY KEY,
   first_name  varchar(45) NOT NULL,
   last_name  varchar(45) NOT NULL,
   last_update  DATETIME NOT NULL);
insert into actor values ('3', 'WD', 'GUINESS', '2006-02-15 12:34:33');

输出

3|WD|GUINESS|2006-02-15 12:34:33
头像 此用户名涉嫌违规
发表于 2021-03-15 16:29:39
题目描述:对于表actor插入如下数据,如果数据已经存在,请忽略(不支持使用replace操作)代码: # mysql中常用的三种插入数据的语句: # insert into表示插入数据,数据库会检查主键,如果出现重复会报错; # replace into表示插入替换数据,需求表中有Primar 展开全文
头像 数据分析阿宇君
发表于 2020-08-31 18:33:53
牛客SQL是SQLite3,必须按sqlite3的写法来做: insert or ignore into actor values(3,'ED','CHASE','2006-02-15 12:34:33');如果是mysql,那么把or去掉,像下面这样: insert into actor valu 展开全文
头像 高质量搬砖人
发表于 2021-01-30 11:37:26
方法)MySQL 8.0 INSERT IGNORE INTO actor VALUES(3, 'ED', 'CHASE', '2006-02-15 12:34:33');
头像 Ding_123
发表于 2021-12-02 10:24:06
知识点 insert ignore into:若没有则插入,若存在则忽略 replace into:若没有则正常插入,若存在则先删除后插入 代码 insert ignore into actor values ('3', 'WD', 'GUINESS', '2006-02-15 12:34:33 展开全文
头像 超超i7宝
发表于 2020-11-25 00:56:26
考点是 insert ignore into 表名, 题解如下: insert ignore into actorvalues (3,'ED','CHASE','2006-02-15 12:34:33')
头像 jiang_dr
发表于 2021-10-18 11:39:07
如果使用的是 Sqlite 的编译器,则使用 insert or ignore insert or ignore into actor values(3, 'ED','CHASE','2006-02-15 12:34:33') 如果使用的是 Mysql 的编译器,则使用 insert ignore 展开全文
头像 秋天的震撼已经感受到了😅😅😅
发表于 2023-11-17 23:54:09
insert ignore into `actor` (`actor_id`,`first_name`,`last_name`,`last_update`) values ('3','ED','CHASE','2006-02-15 12:34:33') mysql中常用的三种插入数据的语句:inse 展开全文
头像 Java编程白哥
发表于 2023-03-13 10:17:49
方法一:思路:如果数据存在则忽略,在 insert into 之间加个 ignore 就可以。代码: insert ignore into actor values('3','ED','CHASE','2006-02-15 12:34:33')
头像 东方晓
发表于 2021-05-21 16:53:06
MySQL测试通过 方法1. INSERT IGNORE INTO insert ignore into actor values ('3', 'WD', 'GUINESS', '2006-02-15 12:34:33'); 方法2. on duplicate key update;MySQL适用 展开全文
头像 在走神的马来熊
发表于 2024-04-17 22:00:10
不太理解的是,题目只说数据相同请忽略,但很明显姓名都是不同的,难道不应该是id相同请忽略吗,还是说这是SQL里约定俗成的,只要是重复就指的是主键或者唯一索引重复。另外答案我看都用的是insert ignore into,我用的是on duplicate key update 去替换原有字段达到伪忽略 展开全文