我是处理SQL数据库的新手,所以我希望您不要介意这个基本问题。
对于一个研究项目,我必须将两个具有相同结构的SQL数据库组合起来。
它们是从推文的转储中创建的,并且包含用于若干预定义类(例如推文文本、推文id、用户( id )、推文id、包含的标签等)的信息的相互引用的表。它们在某种程度上重叠,即一些推文包含在两个数据库中。
它们是用Peewee构建的,并且被限制为只包含唯一的观察结果。
我尝试使用下面的语法来组合这两个数据库,以面对可能会出现的错误消息“unique constraint failed”。
我怎么做才是最好的呢?我想最终得到一个数据库,其中包含一个独特的tweet列表。
#Merging the two databases
import sqlite3
tweets=sqlite3.connect("tweets_1.db")
tweets.execute("ATTACH 'tweets_2.db' as dba")
tweets_.execute("BEGIN")
for row in tweets_.execute("SELECT * FROM dba.sqlite_master WHERE type='table'"):
combine = "INSERT INTO "+ row[1] + " SELECT * FROM dba." + row[1]
print(combine)
tweets_.execute(combine)
tweets_.commit()
tweets_.execute("detach database dba")
发布于 2016-10-04 05:41:45
您最好的选择是运行多个查询:
我不知道SQL lite是否支持临时表,因此可能需要创建临时表,然后将其删除,但我在mySQL中就是这样做的
https://stackoverflow.com/questions/39840743
复制相似问题