在SQLite3中,当另一个字段的值相同时,是否有方法不允许重复字段?
这很难解释,这可能就是我找不到答案的原因。例如,我有一张“配方”、“配料”表。很明显,配料将被重复用于不同的配方,因此我不能使用UNIQUE,但我希望该命令能够拒绝任何试图插入特定配方数据库的尝试,因为该配方中已经存在该配料 例如,一条记录:配料=“苹果”,配方=“苹果皮”;不允许在recipe=“applePie”字段中插入另一个“apple”(在我的实际应用程序中,可能存在除此之外的其他字段,它们在两条记录上可能不同,但它们都具有相同的成分和配方,因此应拒绝第二次尝试插入值,除非成分不存在) 很抱歉,如果这是非常基本的,我想一定有一种方法可以以本机方式处理它,而不需要我的程序在代码中进行选择和比较。我不知道我解释得有多清楚,如果你需要澄清,请告诉我在SQLite3中,当另一个字段的值相同时,是否有方法不允许重复字段?,sqlite,unique-constraint,Sqlite,Unique Constraint,这很难解释,这可能就是我找不到答案的原因。例如,我有一张“配方”、“配料”表。很明显,配料将被重复用于不同的配方,因此我不能使用UNIQUE,但我希望该命令能够拒绝任何试图插入特定配方数据库的尝试,因为该配方中已经存在该配料 例如,一条记录:配料=“苹果”,配方=“苹果皮”;不允许在recipe=“applePie”字段中插入另一个“apple”(在我的实际应用程序中,可能存在除此之外的其他字段,它们在两条记录上可能不同,但它们都具有相同的成分和配方,因此应拒绝第二次尝试插入值,除非成分不存在)
谢谢大家! 在表的
CREATE
语句中,为成分
和配方
列的组合定义一个唯一
约束:
CREATE TABLE tablename (
recipe TEXT,
ingredient TEXT,
UNIQUE(recipe, ingredient)
)
现在,如果您尝试插入与现有行具有相同的
配方和成分的行,您将得到一个错误,并且新行将不会被插入。
“这很难解释”--那么无论如何,在这里的每个问题中都需要a,这肯定会有很大帮助。对不起,尽管如此,还是有人设法回答了!