我有一张桌子,

BatchID Volume1 Volume2 Volume3

1        3.0      4.0     5.0
1        2.0      1.0     2.0
2        1.0      2.0     4.0
2        1.0      1.0     1.0
2        1.0      1.0     1.0


我正在尝试添加另一个具有相同volume1,volume2和volume3值的批处理3
看起来像(与batchID 2中的记录相同)

1        3.0      4.0     5.0
1        2.0      1.0     2.0
2        1.0      2.0     4.0
2        1.0      1.0     1.0
2        1.0      1.0     1.0
3        1.0      2.0     4.0
3        1.0      1.0     1.0
3        1.0      1.0     1.0


我写了以下查询

insert into table1 (BatchID,Volume1,Volume2,Volume3) Values
(`3`,Select Volume1,Volume2,Volume3 from table1 where batchid = '2')


给出一个错误。

附言:我知道上面的数据库设计不是很好。这是我实际设计的简化版本。

最佳答案

您可以使用INSERT ... SELECT

INSERT INTO table1 (BatchID, Volume1, Volume2, Volume3)
SELECT 3, Volume1, Volume2, Volume3 FROM table1 WHERE batchid = 2

关于mysql - 在mysql数据库中插入另一行,其值类似于上一行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10890299/

10-15 18:35