在 MySQL 中使用多列唯一标识符时,会出现高效处理更新和更新的挑战。插入。虽然“UPDATE ON DUPLICATE KEY”语法似乎是一个合适的解决方案,但它需要唯一的密钥才能工作。
但是,您可以从多个列创建复合键,这将允许“UPDATE ON DUPLICATE KEY”按需要发挥作用。解决方法如下:
要创建复合键,请使用以下语法:
CREATE INDEX <index_name> ON <table_name> (<column1>, <column2>);
例如,让我们创建一个复合键对于问题中提到的三列表:
CREATE INDEX unique_index ON my_table (col_1, col_2);
创建复合键后,您可以执行 'UPDATE ON DUPLICATE KEY' 查询以根据键值更新或插入记录。语法如下:
INSERT INTO <table_name> (col_1, col_2, col_3) VALUES ('value1', 'value2', 'value3') ON DUPLICATE KEY UPDATE col_3=col_3+1;
在此查询中,如果指定 col_1 和 col_2 值的记录已存在,则 col_3 将加 1。否则,将插入一条新记录。
以上是复合键如何提高 MySQL 的'UPDATE ON DUPLICATE KEY”性能?的详细内容。更多信息请关注PHP中文网其他相关文章!