0

我想在表中选择一行并将其插入到另一个表中,如下所示:

INSERT INTO  positionenneu
select *
from positionenneu_0603 where belegnummer like '4106192%'

由于重复的 id 值,我得到了一个错误。在两个表中都是 id 主键 AUTO_INCREMENT。如果没有 id 列,我该怎么做?谢谢你的回答。祝你今天过得愉快!

4

2 回答 2

1

不要使用*and 指定列列表,自然会省略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%'
于 2014-03-06T15:15:13.633 回答
0

最好指定要插入的列。这也允许您跳过 id 字段:

INSERT INTO  positionenneu (field1,field2,field3)
    select field1_0603, field2_0603, field3_0603
    from positionenneu_0603 where belegnummer like '4106192%'
于 2014-03-06T15:15:05.380 回答