SQLite UNIQUE约束在插入执行时失败

问题描述 投票:0回答:1

为什么下面给出“ IntegrityError:唯一约束失败:TwitterStream.twitter_id”错误?这就是我在SQL Server中执行此任务的方式,看不到它将如何在表中插入键。

#left join on key and only insert if key not in table
c.execute('INSERT INTO TwitterStream SELECT TwitterStream_Stage.* FROM TwitterStream_Stage LEFT JOIN TwitterStream ON TwitterStream_Stage.twitter_id = TwitterStream.twitter_id WHERE TwitterStream.twitter_id IS NULL')
sqlite sql-insert
1个回答
0
投票

您的查询正确地从目标表TwitterStream_Stage中已经存在twitter_id的源表TwitterStream中排除了行。

因此,您收到的错误表明您在源表本身中有重复的twitter_id

您可以通过以下查询在twitter_id上显示源重复项:

select twitter_id
from TwitterStream_Stage
group by twitter_id
having count(*) > 1
© www.soinside.com 2019 - 2024. All rights reserved.