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语句的文档

相关推荐
小蒜学长32 分钟前
校园网上店铺的设计与实现(代码+数据库+LW)
java·数据库·spring boot·后端·美食
2的n次方_1 小时前
【Redis】hash 类型的介绍和常用命令
数据库·redis·缓存
一ge科研小菜鸡1 小时前
分布式数据库应用实践:架构设计与性能优化
数据库
阿芯爱编程2 小时前
nosql mysql的区别
数据库·mysql·nosql
八月五12 小时前
MySQL误删数据怎么办?
数据库·mysql
禛陌12 小时前
MongoDB平替数据库对比
数据库·nosql
乐维_lwops12 小时前
Prometheus+grafana实践:Doris数据库的监控
数据库·grafana·prometheus
PawSQL15 小时前
金融级分布式数据库如何优化?PawSQL发布OceanBase专项调优指南
数据库·分布式·sql·oceanbase·pawsql
青草地溪水旁15 小时前
mysql_store_result的概念和使用案例
数据库·mysql
恩爸编程17 小时前
深入探索Redis发布订阅机制
数据库·redis·缓存·发布订阅·redis发布订阅·redis怎样实现发布订阅·redis发布订阅怎样实现