MySQL 使用 INSERT 复制表数据并进行重复键更新... "field id is ambiguous?"

标签 mysql insert copy key duplicates

我正在尝试将内容从一个表复制到另一个表,两个表都具有相同的表结构。

INSERT INTO master SELECT * FROM slave
  ON DUPLICATE KEY UPDATE id=id+1

这给出了错误: #1052 - 字段列表中的列“id”不明确

看似简单的问题,但我无法解决。有谁知道要解决这个问题吗?

最佳答案

它所说的是确切的问题:字段列表中的列“id”不明确。您必须指定您所指的 id 列 - master 的还是 slave 的。您可以通过在表名称和字段名称之间放置一个点来指定 masterid 列,master.id:

INSERT INTO master SELECT * FROM slave
  ON DUPLICATE KEY UPDATE master.id = master.id + 1

关于MySQL 使用 INSERT 复制表数据并进行重复键更新... "field id is ambiguous?",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9679729/

相关文章:

php - HTML 表单默认值为空,除非用户单击按钮?

Mysql 从多值字段中获取唯一值

php - Mysql,如何读取同一插入行的其他字段中的自增值?

html - 在不访问任何文件或不了解所用 cms 的情况下复制站点

postgresql - 授予了我的 PostGres 表的所有权限,但在尝试插入/选择时仍然出现 "Permission denied"错误

MySQL:如果存在外键则插入

c++ - 为什么memcpy复制Eigen矩阵数据失败,std::copy成功?

mysql - 使用 'like' 查找 sql 中的整个单词

php - 在 php while 循环中重复按钮

mysql - Where, either or not both 子句 SQL