- 场景题:
对于表actor批量插入如下数据,如果数据已经存在,请忽略(不支持使用replace操作)
CREATE TABLE IF NOT EXISTS actor (
actor_id smallint(5) NOT NULL PRIMARY KEY,
first_name varchar(45) NOT NULL,
last_name varchar(45) NOT NULL,
last_update timestamp NOT NULL DEFAULT (datetime(‘now’,‘localtime’)))
有几张最常见的情况:
- 如果存在,直接抛异常
- 如果存在,则忽略新数据的插入
- 如果存在,直接替换原数据,用新数据
第一种不解释:
第二种写法:
replace into t_teacher (teacher_id,teacher_name)values(1,"fussck")
第3中写法:
insert ignore t_teacher (teacher_id,teacher_name)values(1,"fussck")
代码中方法命名:
insertOrUpdate
insertIfAbsent