dop*_*umi 3 mysql sql sql-server insert duplicates
我想要做的是只增加它应该存在的值的第4列,如果它不存在,当表中有一行时col0 = valuecol0 AND col2 = valuecol2.否则,我想插入行,当然.
INSERT INTO tablename (col0, col1, col2, col3)
VALUES (valuecol0, valuecol1, valuecol2, valuecol3)
ON DUPLICATE KEY UPDATE col3 = col3 + VALUES( col3 );
Run Code Online (Sandbox Code Playgroud)
无论如何,我无法弄清楚我应该如何设置表中的INDEX,我在这里阅读文档中的页面,但它没有多大的帮助.所以我尝试了所有四种可能的组合,没有人工作!
我哪里失败了?
要生成密钥违规,您可以使用唯一索引:
create unique index IX_YourTable_Col0Col2 on YourTable (col0, col2);
Run Code Online (Sandbox Code Playgroud)
使用此索引,您可以使用以下on duplicate key update语法:
insert into YourTable (col0, col1, col2, col3)
values (1, 2, 1, 2)
on duplicate key update col3 = col3 + 2;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2142 次 |
| 最近记录: |