【发布时间】:2022-01-05 14:38:49
【问题描述】:
我有以下问题:
我有一个 MySQL 表,其中包含 id、uuid、responseId 和 response 列,其中 id 是主键。现在我想往这个表中插入值,分别更新值response,如果uuid和responseId和传入的参数一样的话。我已经想到了 INSERT INTO ... ON DUPLICATE KEY,但我的关键是 id。
有没有一种方法可以解决我的问题,而无需先声明是否存在相应的值,然后再执行第二条语句,在该语句中执行插入或更新?
【问题讨论】:
-
INSERT .. ODKU 通过 any 唯一索引检查重复违规。它可以是主要的或常规的唯一的。如果表中有多个此类索引,则任何索引违规都会触发 ODKU 操作。
-
感谢您的回答,但 id 是唯一的唯一键。无法将其他的设置为唯一的。
-
没有唯一键 - 没有 ODKU。它永远不会着火。使用存储过程。