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

插入记录(一)

https://www.nowcoder.com/practice/5d2a42bfaa134479afb9fffd9eee970c

insert into exam_record(uid,exam_id,start_time,submit_time,score) values
(1001,9001,"2021-09-01 22:11:12","2021-09-01 23:01:12",90),
(1002,9002,"2021-09-04 07:01:02",null,null)

插入记录的方式汇总:

普通插入(全字段):INSERT INTO table_name VALUES (value1, value2, ...)

普通插入(限定字段):INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...)

多条一次性插入:INSERT INTO table_name (column1, column2, ...) VALUES (value1_1, value1_2, ...), (value2_1, value2_2, ...), ...

从另一个表导入:INSERT INTO table_name SELECT * FROM table_name2 [WHERE key=value]

细节剖析:

第一列为自增主键列;

最后两列提交时间和得分可以为空,其他非空

第一条记录的时间是『晚上10点』需要转换为24小时制

第二条记录中作答未提交就退出

思路实现:

本题可采用第三种插入方式,插入两条数据除自增id列以外的列:

INSERT INTO exam_record(uid, start_time, submit_time, exam_id, score) VALUES

(1001, '2021-09-01 22:11:12', '2021-09-01 23:01:12', 9001, 90),

(1002, '2021-09-04 07:01:02', null, 9002, null);

也可以用全字段多条插入,自增ID列设置为NULL或0:

INSERT INTO exam_record VALUES

(NULL, 1001, '2021-09-01 22:11:12', '2021-09-01 23:01:12', 9001, 90),

(NULL, 1002, '2021-09-04 07:01:02', null, 9002, null);

当然上面的提交时间是我们计算好的,也可以让它自己计算:

INSERT INTO exam_record(uid, start_time, submit_time, exam_id, score) VALUES

(1001, '2021-09-01 22:11:12', '2021-09-01 22:11:12' + INTERVAL 50 minute, 9001, 90),

(1002, '2021-09-04 07:01:02', null, 9002, null);

全部评论

相关推荐

2025-12-31 14:19
门头沟学院 产品经理
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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