MySQL:在复合列中使用 ON DUPLICATE KEY
当处理缺少唯一列的表时,可以执行高效的插入和更新具有挑战性的。一种解决方案是利用 MySQL 的 ON DUPLICATE KEY 子句,该子句允许基于指定键进行条件更新。
如果表具有 col_1 和 col_2 值的组合作为唯一标识符,则 ON可以使用复合键构造 DUPLICATE KEY 查询。通过在两列上创建 PRIMARY 或 UNIQUE 索引,您可以启用此子句。
// create a composite index CREATE INDEX my_composite_index ON my_table (column1, column2);
// insert or update using ON DUPLICATE KEY INSERT INTO my_table (column1, column2, column3) VALUES ('value1', 'value2', 'value3') ON DUPLICATE KEY UPDATE column3=column3+1;
如果 col_1 和 col_2 值的组合尚未插入,此查询将插入新行存在。如果找到匹配的行,它将通过将其增加 1 来更新 column3 的值。
通过将复合键与 ON DUPLICATE KEY 结合使用,即使在不存在的情况下,您也可以实现高效的条件更新和插入单个唯一列的。
以上是如何使用复合键和重复键在 MySQL 中高效插入和更新行?的详细内容。更多信息请关注PHP中文网其他相关文章!