明确考点:

插入记录的方式汇总:

  • 普通插入(全字段):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);