如何防止sqlite3 UNIQUE约束完整性错误?

时间:2015-03-30 10:51:36

标签: python sql sqlite

我希望能够将多个数据添加到一个Product ID中,该c.execute('''CREATE TABLE IF NOT EXISTS Product (productid INTEGER primary key, name TEXT )''') 被定义为我的一个表中的主键。

以下是创建它的地方..

item1 = self.productidField.get() #variable 'item' used to define values entered into fields
item3 = self.nameField.get()
然后,

Tkinter获取值:

c.execute("INSERT INTO Product VALUES (?, ?)", (item1, item3))

然后插入..

Product ID

我想要它,以便Product ID定义名称。 EG - 我可以在1 INSERT添加尽可能多的'巧克力棒'但是如果我尝试添加草莓,那么我希望唯一约束拒绝Product ID过程。目前,只有一组数据可以添加到某个{{1}}。

1 个答案:

答案 0 :(得分:0)

您可以使用两个表格执行此操作:

CREATE TABLE product (product_id INTEGER PRIMARY KEY, name TEXT);

CREATE TABLE chocolate_bar (
    id INTEGER PRIMARY KEY,
    product_id INTEGER REFERENCES product (product_id),
    flavour TEXT
);

...或者使第二个表的内容不那么具体。