【发布时间】:2014-06-18 15:51:43
【问题描述】:
我想知道如何创建一个不允许插入完全重复的行的表。完整是指每个值都必须相同。
我可以插入除 1 列的值之外相同的行,但如果它们都相同则不行。
我知道您可以使用 INSERT OR IGNORE 来避免插入重复的行,但问题是我的表使用自动递增的整数作为其主键,并且 INSERT OR IGNORE 仍然允许插入重复的行,因为它看到自动递增 id 不同
例如
跑步
INSERT OR IGNORE INTO table VALUES ("A", "B" "C");
两次会给我下表:
id | Column A | Column B | Column C
1. "A" "B" "C"
2. "A" "B" "C"
除了手动搜索行(忽略 id)以查找重复项之外,还有其他方法吗?
【问题讨论】:
-
输入一个涵盖表中所有相关字段的唯一键。例如
unique key 'foo' (a,b,c)
标签: c++ sqlite insert duplicates