mysql - 将所有内容从一个表复制到另一个表 - 更改值并拥有自动递增 ID?

标签 mysql sql

我正在尝试将“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/

相关文章:

mysql - 使用 OR 运算符连接两个表

php - 循环,比较多个表值

php - 使用 PHP CLI 通过 imap 和 mysql 或其他语言处理电子邮件检索

php - 这个php脚本有什么问题?

sql - 计算不同的共现次数

php - MySQL 3表连接user_id,没有得到NULL值,而是重复的条目

php - MySQL 对某些行返回空值

sql - 如何获取有关给定包中声明的所有类型数据的信息

mysql - 如何将上个月的记录加1并插入为当月记录?

SQL:在每个类别中查找评分最高的文章