这是我在stackoverflow的第一个问题,我不是以英语为母语的人。如果我问得不好,请容忍我。
假设我有一张table _id
是主键。
| _id | value1 | value2 |
|-----|--------|--------|
| 1 | apple | banana |
| 2 | orange | melon |
我希望:
如果我试着询问 INSERT INTO table_name (_id, value1, value2) VALUES (1, 'apple', 'banana')
然后什么也没有发生,因为整行都是一样的。
如果我试着询问 INSERT INTO table_name (_id, value1, value2) VALUES (2, 'apple', 'tomato')
然后我得到警告,因为至少有一列不相等。
在mysql中有没有简洁的语句可以让我做一些糟糕的工作?
1条答案
按热度按时间irlmq6kh1#
你似乎想要一个唯一的索引
_id
:然后,您将无法插入具有相同属性的另一行
_id
. 可以为创建唯一索引value1
以及value2
如果你也希望这些是独一无二的。行为与您指定的不完全相同。如果尝试插入任何具有现有
_id
--不管其他列中的值是多少,都会发生错误。您可以使用绕过错误insert ignore
或者on duplicate key update
,如果你愿意的话。