MySQL 查询有重复键?

标签 mysql

我第一次尝试使用重复键在一个查询中插入和更新。我的查询有什么问题?

INSERT INTO tabletest(batchID, purchaseID) 
VALUES (553155, 892) ON DUPLICATE KEY 
UPDATE purchaseID = VALUES(purchaseID)

如果存在唯一的purchaseID的batchID,我想插入或更新。表中的purchaseID是唯一的。

最佳答案

如果 purchaseID 是具有 UNIQUE 约束的列,那么您应该仅更新 batchID:

INSERT INTO tabletest (batchID, purchaseID) 
  VALUES (553155, 892) 
ON DUPLICATE KEY UPDATE 
  batchID = VALUES(batchID)

关于MySQL 查询有重复键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9736733/

相关文章:

MySQL 从秒转换为另一种自定义格式

php session id值到多个页面

php - 删除和更新语句不适用于多个复选框

php - 将 post_content 中的 [keyword] 替换为 post_title MYSQL 中的单词

mysql select into outfile 没有任何行终止字符

c++ - 多次调用存储过程时出现 mySQL C++ 连接器 "Commands out of sync"

php - 无法连接到数据库 "Fatal error: Call to undefind function mysqli_connect()"

mysql - 动态构建MySQL创建触发器的代码

mysql - 如何在大表中快速查找记录?

php - 数据库:检查重复错误