我想知道如何创建一个不允许插入完全重复的行的表。我的意思是,每一个价值都必须是相同的。
我不介意插入与1列值相同的行,但如果它们都是相同的,则不行。
我知道您可以使用插入或忽略来避免插入重复行,但问题是,我的表使用自动递增整数作为主键,插入或忽略仍然允许插入重复行,因为它认为自动递增的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)之外,还有其他方法吗?
发布于 2014-06-18 16:35:58
插入或忽略将检查任何约束,因此只需在要检查的字段中添加一个:
CREATE TABLE MyTable(
ColumnA INTEGER PRIMARY KEY,
ColumnB WHATEVER,
ColumnC,
UNIQUE (ColumnA, ColumnB, ColumnC)
);https://stackoverflow.com/questions/24289986
复制相似问题