我正在尝试将“TableA”的全部内容复制到“TableB”...但是有一些问题,首先,表 B 需要拥有所有新的自动递增 ID(我将其设置为 BIGINT,并且它在模式中自动递增),然后我需要 TableB 中的“refereceID”值以始终具有 TableA 中该行的“id”值。第三,有一个“报告”字段,目前 - 我希望它始终具有值“1”。
这是我当前的 SQL:
INSERT into tableB(id, report, referenceID, address, zip, last_seen_on, created)
VALUES(
,1
,[id]
,[address]
,[zip]
,[last_seen_on]
,[created])
SELECT * FROM TableA
但是我不断收到如下所示的 SQL 错误:
您的 SQL 语法有误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 11 行的“1, [id], [address], [zip], [last_seen_on], [created]”附近使用的正确语法
最佳答案
我认为这就是你所需要的(注意这个语法是针对 SQL 的,错过了 MySQL 部分,但对于 MySQL 来说应该非常相似/相同)
INSERT into tableB(report, referenceID, address, zip, last_seen_on, created)
Select 1
,[id]
,[address]
,[zip]
,[last_seen_on]
,[created]
from TableA
您的插入内容比您的值有更多的列(如果 id 是您的 Insert 语句中的自动增量值,您应该能够将其关闭)。
关于mysql - 将所有内容从一个表复制到另一个表 - 更改值并拥有自动递增 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49677453/