SQL——插入已经存在的数据

现在有一套ID为9003的高难度SQL试卷,时长为一个半小时,请你将 2021-01-01 00:00:00 作为发布时间插入到试题信息表examination_info(其表结构如下图),不管该ID试卷是否存在,都要插入成功,请尝试插入它。

|--------------|-------------|------|-----|----------------|---------|---------|
| Filed | Type | Null | Key | Extra | Default | Comment |
| id | int(11) | NO | PRI | auto_increment | (NULL) | 自增ID |
| exam_id | int(11) | NO | UNI | | (NULL) | 试卷ID |
| tag | varchar(32) | YES | | | (NULL) | 类别标签 |
| difficulty | varchar(8) | YES | | | (NULL) | 难度 |
| duration | int(11) | NO | | | (NULL) | 时长(分钟数) |
| release_time | datetime | YES | | | (NULL) | 发布时间 |

如果直接插入则会提示,数据表中已存在该exam_id,该如何处理呢?

难点:不知道该数据是否存在,若存在可用update,若不存在可用insert。

方案:采用replace语句

sql 复制代码
replace into examination_info(exam_id,tag,difficulty,duration,release_time)
values(9003,'SQL','hard',90,'2021-01-01 00:00:00')

参考: MySQL关于replace语句的文档

相关推荐
小唐同学爱学习8 分钟前
如何解决海量数据存储
java·数据库·spring boot·mysql
wWYy.24 分钟前
详解redis(15):缓存雪崩
数据库·redis·缓存
zzcufo26 分钟前
多邻国第五阶段第13部分
java·开发语言·数据库
这周也會开心41 分钟前
Redis相关知识点
数据库·redis·缓存
小白爱运维1 小时前
MySQL升级8.0.44后登录报错-系统表不支持'MyISAM'存储引擎
数据库·mysql
json{shen:"jing"}1 小时前
1. 两数之和
前端·javascript·数据库
github.com/starRTC2 小时前
Claude Code中英文系列教程19:使用subagent子代理与创建自定义子代理【重要】
前端·javascript·数据库
Anastasiozzzz2 小时前
Redis的键过期是如何删除的?【面试高频】
java·数据库·redis·缓存·面试
北海屿鹿2 小时前
【MySQL】内置函数
android·数据库·mysql
qq_366086224 小时前
SQL Server 之 Full-Text Search 全文搜索
运维·服务器·数据库