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