首页 > 试题广场 >

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

[编程题]批量插入数据,不使用replace操作
  • 热度指数:141671 时间限制: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
如果不存在则插入,如果存在则忽略
INSERT OR IGNORE INTO tablename VALUES(...);

如果不存在则插入,如果存在则替换
INSERT OR REPLACE INTO tablename VALUES(...);

这里指的存在表示的是unique属性的列值存在的情况下,unique表示键值唯一

发表于 2017-09-01 01:52:36 回复(1)