mysql - ON Duplicate Key 用于多个值的精确组合

标签 mysql key on-duplicate-key

假设我们有这张表:

--------------------------
| x  |  y  |  z  |  data  |
---------------------------
| 3  |  53 |  24 |  hello |
---------------------------

-

现在我只想更新“数据”,以防存在X、Y、Z精确组合。

INSERT INTO TABLE SET x=?,y=?,z=?,data=? ON DUPLICATE KEY UPDATE data=?

这显然行不通。我该怎么做?

最佳答案

您只需在三个字段 x、y、z 上添加复合唯一键。它有效。

您还可以使用以下语法:

INSERT INTO TABLE (x,y,z,data) values (?,?,?,?) ON DUPLICATE KEY UPDATE data=?;

关于mysql - ON Duplicate Key 用于多个值的精确组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35385931/

相关文章:

mysql - Adventure Works 用于 SQL 查询

php - 区分 'no rows were affected' 和成功更新的行——相同的值(MySQL 和 PHP)

php - Laravel 5.5 在按一个字段进行分组后获取索引键编号

python - 向字典添加新键会用新键值覆盖所有以前存储的键

java - 将键值合并为另一个具有 java 中重复项的映射的新值

mysql - 我可以在不使用 auto_increment 值的情况下使用 INSERT INTO ... On DUPLICATE KEY 吗?

MySQL INSERT 多行 ON DUPLICATE KEY UPDATE ... WHERE EXISTS(子查询)

mysql - 32 位和 64 位的 yum 存储库设置、mysql 连接器

mysql - 空 MySQL concatenated join 导致查询失败

php - 单选按钮检查来自 mysql 的负载