搞清楚题目正在考什么内容。
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');
对于表actor插入如下数据,如果数据已经存在,请忽略(不支持使用replace操作)
-
所需结果
actor_id first_name last_name last_update '3' 'ED' 'CHASE' '2006-02-15 12:34:33'
2. 题解
考察表格插入,题目要求是忽略可能存在的重复数据,所以需要用到关键字IGNORE
。
全部字段的插入有两种方法:
# 正解
INSERT IGNORE INTO actor(actor_id, first_name, last_name, last_update)
VALUES (3, 'ED', 'CHASE', '2006-02-15 12:34:33');
或者简写,因为多写一点就会多一点错误的风险(易错点看下面反思):
# 直接简写
INSERT IGNORE INTO actor VALUES (3, 'ED', 'CHASE', '2006-02-15 12:34:33');
3. 反思:插入数据、引号用法
1、新手易犯的错误:
错误一:表格字段不能加引号
# 错误写法1:表格字段不能加引号
INSERT IGNORE INTO actor ('actor_id', 'first_name', 'last_name', 'last_update')
VALUES (3, 'ED', 'CHASE', '2006-02-15 12:34:33');
错误二:数字不能加引号
# 错误写法2:数字不能加引号
INSERT IGNORE INTO actor VALUES('3', 'ED', 'CHSE', '2006-02-15 12:34:33');
搞清楚题目正在考什么内容,虽然简单,但是不能马虎。
2、插入的用法
INSERT INTO
:普通插入INSERT REPLACE INTO
:替换插入(如果存在主键或unique数据)INSERT IGNORE INTO INTO
:忽略插入(如果存在主键或unique数据)