我想在表中选择一行并将其插入另一个表中,如下所示:
INSERT INTO positionenneu
select *
from positionenneu_0603 where belegnummer like '4106192%'
由于重复了id值,我收到了错误消息。在两个表中都是id主键AUTO_INCREMENT。 如果没有id列,我怎么能这样做? 谢谢你的回答。 祝你有愉快的一天!
答案 0 :(得分:1)
请勿使用*
并指定列列表,自然会省略id
列:
INSERT INTO positionenneu (foo, bar, baz)
select foo, bar, baz
from positionenneu_0603 where belegnummer like '4106192%'
或者,如果您需要,您当然可以在某处使用id
列:
INSERT INTO positionenneu (foo, bar, baz, positionenneu_0603_id)
select foo, bar, baz, id
from positionenneu_0603 where belegnummer like '4106192%'
答案 1 :(得分:0)
最好指定要插入的列。这也允许您跳过id字段:
INSERT INTO positionenneu (field1,field2,field3)
select field1_0603, field2_0603, field3_0603
from positionenneu_0603 where belegnummer like '4106192%'