【问题标题】:mysql INSERT INTO ... SELECTmysql 插入...选择
【发布时间】:2014-03-06 15:12:14
【问题描述】:

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

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

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

【问题讨论】:

  • 你知道插入和选择的区别吗?
  • 那么不要select *select all,the,fields,except,the,ones,you,dont,want ...

标签: php mysql sql heidisql


【解决方案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%'

【讨论】:

    【解决方案2】:

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

    INSERT INTO  positionenneu (field1,field2,field3)
        select field1_0603, field2_0603, field3_0603
        from positionenneu_0603 where belegnummer like '4106192%'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-23
      • 2014-10-17
      • 2021-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-02
      • 2018-02-25
      相关资源
      最近更新 更多