You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求协助:对exams表执行查询、修改后插入新数据的SQL操作

解决方案:复制并修改行插入同表

没问题,你可以用SQL的INSERT...SELECT语句一步完成这个需求,不用先查询再手动构造插入语句,既高效又不容易出错。

核心SQL语句

INSERT INTO exams (ExamName, GradeId, TermId)
SELECT ExamName, 32, 25
FROM exams
WHERE Id = 155;

语句说明

  • 我们明确指定要插入的列:ExamName, GradeId, TermId,跳过主键Id——因为你的Id是自增主键,数据库会自动为新行分配下一个可用的主键值,也就是你预期的157。
  • SELECT部分从原表中获取Id=155行的ExamName值,同时直接把GradeId设为32、TermId设为25,替换原行的对应值。

验证结果

执行完插入语句后,你可以用下面的查询确认结果:

SELECT * FROM exams WHERE Id IN (155, 157);

这会返回原行(155-Maths-22-15)和新插入的行(157-Maths-32-25),确保操作符合预期。

注意:确保你的Id列确实是自增主键(比如MySQL的AUTO_INCREMENT、SQL Server的IDENTITY属性),否则需要手动指定新的Id值。

内容的提问来源于stack exchange,提问作者celoaga

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 06:59:58