Skip to main content
 首页 » 编程设计

python之防止多个约束sqlite3 python的重复

2025年05月04日10thcjp

假设我有一张 table :

Table A: 
 
Id Name     Movie   Comment  
 
1  Foo     Bar  anything 
2  Foo     Bar  anything 

这里我想确保用户不能插入 Foo 和 Bar 两次,但允许他插入 Foo 和 foobar 。 防止这种重复的一种解决方案是添加此语句 ALTER TABLE table ADD UNIQUE KEY(Name , Movie)。 这可能是针对 sql 而不是 sqlite。我在 python 中为 sqlite3 编写了与 cur.execute("ALTER TABLE ADD UNIQUE KEY(Name,Movie)") 相同的命令。它给了我错误 sqlite3.operationalerror: near "unique"syntax error。在创建表 A 时是否可以做任何事情,或者我的 sqlite 查询中是否有任何错误。

感谢帮助。

请您参考如下方法:

CREATE UNIQUE INDEX IDX_Movies ON table(Name, Movie) 

这是标准 SQL,记录在 http://sqlite.org/lang_createindex.html . (SQLite 的在线文档非常全面)