我尝试使用某些列创建一个Sqlite表,如何具有如下唯一条目:
cur.execute("CREATE TABLE IF NOT EXISTS Links(Id integer primary key autoincrement, Name TEXT, Link TEXT UNIQUE)")
之后我尝试将数据插入这些DB:
cur.executemany("INSERT INTO Links (Name, Link) VALUES(?, ?)", links)
但我明白了:
sqlite3.IntegrityError: UNIQUE constraint failed: Links.Link
这里有什么问题以及如何解决错误?
答案 0 :(得分:0)
我已经解决了这个错误。当我只执行这些时:
cur.execute("CREATE TABLE IF NOT EXISTS Links(Id integer primary key autoincrement, Name TEXT, Link TEXT UNIQUE)")UNIQUE)")
没有错误!只有当我试图在这些数据库中插入日期时才会这样:
cur.executemany("INSERT INTO Links (Name, Link) VALUES(?, ?)", links)
这就是错误!我只需将INSERT
更改为INSERT OR IGNORE
即可解决此问题:
cur.executemany("INSERT OR IGNORE INTO Links (Name, Link) VALUES(?, ?)", links)
将数据放入我的数据库时INSERT OR IGNORE
解决了我的错误!