题解 | #插入记录(三)#

插入记录(三)

http://www.nowcoder.com/practice/978bcee6530a430fb0be716423d84082

解法一

REPLACE INTO examination_info
VALUES(NULL,9003,'SQL','hard',90,'2021-01-01 00:00:00');
  1. 关键字NULL可以用DEFAULT替代。
  2. 掌握replace into···values的用法

replace into 跟 insert into功能类似,不同点在于:replace into 首先尝试插入数据到表中,

  1. 如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据;
  2. 否则,直接插入新数据。

要注意的是:插入数据的表必须有主键或者是唯一索引!否则的话,replace into 会直接插入数据,这将导致表中出现重复的数据。

解法二

DELETE FROM examination_info
WHERE exam_id=9003;
INSERT INTO examination_info
VALUES(NULL,9003, 'SQL','hard', 90, '2021-01-01 00:00:00')
全部评论
请问,为啥解法1中的id字段要replace into成null啊
点赞 回复 分享
发布于 2023-07-11 09:30 辽宁
表结构中设置了字段 defualt null
点赞 回复 分享
发布于 2023-06-13 11:26 辽宁
解法一中为什么最后两个字段不写null?
点赞 回复 分享
发布于 2022-08-04 14:14
DELETE FROM examination_info WHERE exam_id=9003;删除的是exam_id=9003的那一行是吗?
点赞 回复 分享
发布于 2022-03-24 10:11
解法二这么写不是两句sql啦吗
点赞 回复 分享
发布于 2022-01-10 17:21
您好,想请问一下为什么WHERE exam_id=9003后面不加分号就会报错,加了就运行成功了呢
点赞 回复 分享
发布于 2021-11-29 21:36
请问INSERT INTO后面什么时候要跟VALUES关键字,什么时候不要跟
点赞 回复 分享
发布于 2021-11-29 13:31

相关推荐

2025-12-29 22:36
武汉大学 Java
点赞 评论 收藏
分享
2025-11-04 19:05
已编辑
东莞城市学院 单片机
不知道怎么取名字_:你这个要实习两年?哪有这么久的,感觉就是即使你毕业了,但还按实习的话,是不是不用给你缴社保公积金啥的
点赞 评论 收藏
分享
评论
184
28
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务