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

相关推荐
刺客xs30 分钟前
MySQL数据库----通配符,正则表达式
数据库·mysql·正则表达式
无限大.39 分钟前
计算机十万个为什么--数据库索引
数据库·oracle
思成不止于此1 小时前
MySQL 数据操作:增删改核心语法全解析
数据库·笔记·学习·mysql
得物技术1 小时前
数据库AI方向探索-MCP原理解析&DB方向实战|得物技术
数据库
Arva .1 小时前
MySQL 的锁类型有哪些
数据库·mysql
APIshop2 小时前
微店关键词搜索商品列表 API 实战:micro.item_search 全流程指南
数据库
翔云1234562 小时前
在MySQL中,使用物理备份工具 xtrabackup备份扩容从库,从库上的gtid_executed和gtid_purged变化过程
数据库·mysql
liulilittle3 小时前
Linux shell 搜索指定后缀名文件,并复制到指定目录。
linux·服务器·数据库
必胜刻3 小时前
Redis哨兵模式(Linux)
linux·数据库·redis
dualven_in_csdn3 小时前
【数据库损坏】关于一次现场数据库损坏
数据库·mysql