gpt4 book ai didi

python - sqlite python INSERT IF NOT EXIST 有很多变量

转载 作者:行者123 更新时间:2023-11-29 11:09:36 25 4
gpt4 key购买 nike

我有一个包含很多列的表,主键是 AUTOINCRMENT 并且从 1 开始。我正在逐行解析文件中的 csv 数据,并且可能存在重复的行。

在这种情况下,我需要检查主表中是否已经存在对于下面列出的所有变量具有相同值的行(当然具有增量主键),如果不存在,则使用这些变量创建新行。

插入或忽略在这种情况下不起作用,我不明白为什么。

提前致谢

cur.execute('''INSERT OR IGNORE INTO Main (sku_id, skucat_id, prodline_id, lor_id,
skucat_id, georegion_id, geosector_id, month, year,
sellin_un, sellin_rur, sellout_un, sellout_rur)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)''', (sku_id,
skucat_id, prodline_id, lor_id, skucat_id, georegion_id,
geosector_id, month, year, sellin_un, sellin_rur,
sellout_un, sellout_rur, ))

最佳答案

insert 或ignore 的忽略部分基于冲突。正如 SQLite documentation for on conflicts 中所讨论的,您的表中需要有一个唯一键或主键。

您的表中是否有一列或一组列是唯一的或可以用作主键(例如 sku_id)?这将导致冲突,因此只要遇到该约束,插入就会被忽略。现在,您只是插入数据,对表没有任何限制,因此每当执行插入时都不会检查任何内容。

关于python - sqlite python INSERT IF NOT EXIST 有很多变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40833212/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com