如何在同一SQL表中复制记录并更新ID列值为A2
简化方案
直接用一条INSERT...SELECT语句就能完成需求,无需创建临时表:
INSERT INTO TABLE1 (ID, CLASS, GENDER, SUBJECT) SELECT 'A2', CLASS, GENDER, SUBJECT FROM TABLE1 WHERE ID = 'A1';
说明
这条语句直接从原表筛选出ID为'A1'的记录,将ID字段替换为'A2'后插入到同一张表中,一步完成复制与插入操作,比原有的三步流程简洁高效。
如果担心表结构后续变更,不想手动罗列所有字段名,也可以用以下写法(明确指定新ID值,其余字段沿用原数据):
INSERT INTO TABLE1 SELECT 'A2' AS ID, CLASS, GENDER, SUBJECT FROM TABLE1 WHERE ID = 'A1';
两种方式都能实现你的预期效果,且仅需一条SQL语句即可完成操作。
内容的提问来源于stack exchange,提问作者Saumyadeep Roy
相关产品推荐
相关产品推荐

