MySQL 'UPDATE ON DUPLICATE KEY'的复合键
问题:
如何高效执行如果特定的值组合已存在,则更新行的查询(使用 'UPDATE ON DUPLICATE KEY'),但前提是定义了唯一键?
答案:
MySQL 允许创建由多个列组成的复合键。通过定义复合键,即使唯一约束涉及值的组合,您也可以使用“UPDATE ON DUPLICATE KEY”语法。
实现:
创建复合索引:
使用以下语法在多列上创建索引:
CREATE INDEX index_name ON table_name (column1, column2);
插入或更新:
创建复合索引后,您可以使用以下查询根据组合键插入新行或更新现有行:
INSERT INTO table_name (column1, column2) VALUES (value1, value2) ON DUPLICATE KEY UPDATE column3 = column3 + 1;
在此示例中, “column1”和“column2”值充当复合键。如果已存在具有相同“column1”和“column2”值的行,则“column3”值将增加 1。否则,将插入新行。
以上是如何将复合键与 MySQL 的'UPDATE ON DUPLICATE KEY”一起使用?的详细内容。更多信息请关注PHP中文网其他相关文章!