1
我想在插入值时忽略或更新重复项。我知道on duplicate key
,但我找不出解决方案。这里是示例表格示例。插入如果在表中找不到重复更新
| ID | roll | sub | mark |
| ---- |----------| ------|------|
| 1 | 100 | 11 | 15 |
| 2 | 101 | 11 | 16 |
| 3 | 102 | 11 | 17 |
| 4 | 100 | 12 | 10 |
| 5 | 101 | 12 | 11 |
| 6 | 102 | 12 | 12 |
这里id
是primary key
但我想插入检查roll & sub
已经存在,update,否则插入新行。我用下面的代码尝试过,但这是插入重复行,但它应该更新下表中的第6行。
CREATE INDEX mycompo_index on student(roll,sub);
insert into student(roll, mark, sub)
values (102, 22, 12)
on duplicate key update mark = values(mark);
如果你不想重复,你应该定义辊子的组合作为附加键。 – Mureinik
什么是键可以使列组合,以及如何使它可以请你解释我 – rana7cse
因为这确实似乎是问题,我添加了一个解释它的答案(它比评论更方便) - 看到那里。 – Mureinik