add except sqlite3.OperationalEror

This commit is contained in:
huzh 2023-12-23 07:43:47 +00:00
parent 5916e55c1b
commit 9b431772fc

View File

@ -14,19 +14,20 @@ def merge_MediaMSG_databases(source_paths, target_path):
db = sqlite3.connect(source_path) db = sqlite3.connect(source_path)
db.text_factory = str db.text_factory = str
cursor = db.cursor() cursor = db.cursor()
sql = '''
SELECT Key,Reserved0,Buf,Reserved1,Reserved2 FROM Media;
'''
cursor.execute(sql)
result = cursor.fetchall()
# 附加源数据库 # 附加源数据库
try: try:
sql = '''SELECT Key,Reserved0,Buf,Reserved1,Reserved2 FROM Media;'''
cursor.execute(sql)
result = cursor.fetchall()
target_cursor.executemany( target_cursor.executemany(
"INSERT INTO Media (Key,Reserved0,Buf,Reserved1,Reserved2)" "INSERT INTO Media (Key,Reserved0,Buf,Reserved1,Reserved2)"
"VALUES(?,?,?,?,?)", "VALUES(?,?,?,?,?)",
result) result)
except sqlite3.IntegrityError: except sqlite3.IntegrityError:
print("有重复key", "跳过") print("有重复key", "跳过")
except sqlite3.OperationalError:
print("no such table: Media", "跳过")
cursor.close() cursor.close()
db.close() db.close()
# 提交事务 # 提交事务