我有两张桌子:
t1(mainid, parentid)
t2(mainid, parentid)
如何将t1.mainid
的值复制到t2.parentid
?
我尝试使用:
SELECT mainid INTO t2 FROM t1
但它不起作用。
答案 0 :(得分:3)
尝试使用INSERT ... SELECT语法:
INSERT INTO t2(parentid) SELECT mainid FROM t1
答案 1 :(得分:2)
如果t2中的mainid也是自动增量
INSERT INTO t2(parentid) SELECT mainid FROM t1
答案 2 :(得分:1)
INSERT INTO t2 SELECT 0,mainid FROM t1
答案 3 :(得分:1)
以下解决方案
INSERT INTO t2(parentid) SELECT mainid FROM t1
只要t2(mainid)设置了默认值,就可以工作。检查一下。
答案 4 :(得分:1)
INSERT INTO tbl_name [(col_name,...)] SELECT ....
答案 5 :(得分:0)
当您插入表时,您必须考虑在表中插入整行的事实,而不仅仅是一列的值。即使某些列具有默认值,考虑将整行插入表中也是有帮助的。
因此,要将mainid列的值从t1跨越到t2的parentid列,您可以执行以下操作:
INSERT INTO T2 SELECT 0,mainid FROM T1
但是对于T1中的每个mainid值,您将传输0和manid值来弥补 一排t2。如果t2具有唯一约束,则无法以这种方式解决问题。