这是我在stackoverflow中的第一个问题,我不是英语母语人士 . 如果我不好问,请跟我说 .
假设我有一个表, _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 回答
您似乎想要
_id
上的唯一索引:然后,您将无法插入具有相同
_id
的另一行 . 如果您还希望这些索引是唯一的,则可以为value1
和value2
创建唯一索引 .行为并不完全是您指定的行为 . 如果您尝试插入具有现有
_id
的任何行 - 无论其他列中的值如何 - 那么将发生错误 . 如果您愿意,可以使用insert ignore
或on duplicate key update
绕过错误 .