从另一个姐妹表插入一个额外的字段

时间:2012-04-14 05:09:34

标签: php mysql

我有两张桌子,需要将一张桌子复制到另一张INSERT INTO tbl_new SELECT FROM tbl_old

他们都有3个完全相同的列,但是tbl_new有第4列,名为" type"我如何在同一个查询中填充它。

我需要从tbl_old复制行并将值赋给单元格"输入"

INSERT INTO tbl_new SELECT FROM tbl_old, (type) values (floor(rand() * 10))

不起作用

3 个答案:

答案 0 :(得分:1)

tbl_old有两列,tbl_new有三列

tbl_old
colA | colB

tbl_new
colA | colB | colC

假设您要使用colA和colB值的总和填充colC。你可以用这个:

INSERT INTO tbl_new (colA, colB, colC) SELECT colA,colB,(colA+colB) FROM tbl_old;

在你的例子中:

INSERT INTO tbl_new (colA, colB, colC) SELECT colA,colB,floor(rand()*10) FROM tbl_old;

答案 1 :(得分:1)

尝试以下:

 INSERT INTO tbl_new (column1,column2,column3,type) 
 SELECT column1,column2,column3,floor(rand() * 10) FROM tbl_old

注意:将column1,column1.column3替换为列名。

答案 2 :(得分:0)

上面的这些答案是正确的,但想象一下,如果除了额外的列之外一切都是相同的,那么写出列的时间就会花费。

如果表格的顺序与末尾的附加列相同,那么这是一个更简洁的查询:

INSERT INTO tbl_new SELECT *, floor(rand()*10) FROM tbl_old;