【发布时间】:2019-03-25 12:07:39
【问题描述】:
如果我运行 SQL 命令
INSERT INTO my_table VALUES (?);
有约束
CREATE my_table(
user_name VARCHAR(255) PRIMARY KEY
);
在列表['a', 'b', 'c', 'd', 'e', 'f', 'a', 'b', 'g', 'h', 'i']上使用sqlite3的executemany()命令,我会得到一个sqlite3.IntegrityError。
我对@987654326@ 遇到此错误时的行为有一些疑问,我一直无法找到有关该行为的任何文档。
1) 在异常之前插入的值是否总是完好无损?
2) 是否有可能插入发生异常之后的值?
3) 有什么方法可以确定哪些值会导致异常? (我能想到的最好的办法是将列表包装在生成器中以跟踪状态,记录问题条目,然后在生成器的其余部分重试,直到整个列表被消耗完。)
【问题讨论】:
标签: python sql python-3.x sqlite executemany