使用新主键将行从一个表复制到另一个表

时间:2018-04-05 10:04:50

标签: mysql

我正在尝试将表A中的一行复制到表B中 - 但希望表B生成新的主键。无论我做什么,它只是复制表A中的主键。

我的主键是col1。我当前的SQL语句:

INSERT INTO tableB (col2, col3, col4) 
  (SELECT NULL, tableA.col2, tableA.col3, tableA.col4   
   FROM  tableA  
   WHERE tableAD.col1 = xxx)

我做错了什么?谢谢!

3 个答案:

答案 0 :(得分:2)

您正在选择4列,但在insert语句中有3列要插入。试试这个:

INSERT INTO tableB (col2, col3, col4) 
  (SELECT tableB.col2, tableB.col3, tableB.col4   
   FROM  tableA  
   WHERE tableA.col1 = xxx)

答案 1 :(得分:0)

您从TableB中选择。尝试

isHidden: boolean = false;
click(){
    this.isHidden = !this.isHidden;
}

对于TableB,您应该创建一个主键列,这应该是一个自动增量。

答案 2 :(得分:0)

Key是Elbek关于插入四列的评论。我的代码应该是:

INSERT INTO tableB(col1,col2,col3,col4)    (SELECT NULL,tableA.col2,tableA.col3,tableA.col4
   从表A
   表格地址为.ADAD1 = xxx)

相关问题