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 分钟前
【数据库知识】PGSQL数据类型详细说明
数据库·sql·postgresql
I'm a winner11 分钟前
【FreeRTOS实战】互斥锁专题:从理论到STM32应用题
数据库·redis·mysql
北邮刘老师31 分钟前
马斯克的梦想与棋盘:空天地一体的智能体互联网
数据库·人工智能·架构·大模型·智能体·智能体互联网
开开心心_Every33 分钟前
优化C盘存储:自定义软件文档保存路径工具
java·网络·数据库·typescript·word·asp.net·excel
醉舞经阁半卷书141 分钟前
Etcd服务端参数详解
数据库·etcd
gugugu.1 小时前
Redis持久化机制详解(一):RDB全解析
数据库·redis·缓存
暗之星瞳1 小时前
mysql表的链接
大数据·数据库·mysql
陌路201 小时前
redis持久化篇AOF与RDB详解
数据库·redis·缓存
@老蝴1 小时前
MySQL - 索引
数据库·mysql
tgethe1 小时前
MySQL 进阶攻略
数据库·mysql