【场景】:不论记录是否存在都要插入记录 【分类】:replace、先delect再insert

分析思路

难点:

1.不论记录是否存在都要插入记录,如果不存在直接新增记录,存在就删除以后重新插入。

方法一、先删除delete再插入insert

  • [使用]:写2个语句,先执行delete再执行insert
delete from table where ...;insert into table(col1, col2,...,coln) values (value1, value2,...,valuen) 

方法二、使用replace或者replace into

  • replace执行时如果插入的数据记录存在就先删除再更新,不存在则直接新增记录。
replace table(col1, col2,...,coln) values (value1, value2,...,valuen) 

扩展

前往查看:MySQL 插入语句

求解代码

方法一:

先删除delete再插入insert + 写字段名

delete from 
    examination_info
where exam_id = 9003;
insert into 
    examination_info(exam_id,tag,difficulty,duration,release_time) 
values(9003, 'SQL','hard', 90, '2021-01-01 00:00:00')

方法二:

使用replace + 不写字段名

replace
    examination_info
values(default, 9003, 'SQL','hard', 90, '2021-01-01 00:00:00')