没有唯一列的MySQL'UPDATE ON DUPLICATE KEY'?

Har*_*ldo 7 mysql

人们对以最有效的方式执行以下查询的想法是什么:

  • 3列表

  • 如果已经存在组合col_1col_2UPDATE col_3

  • 别的INSERT新行

我假设我需要某种类型,如果UPDATE ON DUPLICATE KEY(我之前从未使用过),但是我没有'KEY'而是一对两个值(列)来制作一个键......

cee*_*yoz 15

您可以在MySQL中创建多个列(称为复合键)中的一个PRIMARYUNIQUE键,这样ON DUPLICATE KEY可以正常工作.

// create a composite index
CREATE INDEX my_composite_index ON my_table (column1, column2);

// insert or update
INSERT INTO my_table (column1, column2) VALUES ('value1', 'value2') ON DUPLICATE KEY UPDATE column3=column3+1;
Run Code Online (Sandbox Code Playgroud)