From 9b431772fc4f2ccf9fe2edad4cbb5981c190d01b Mon Sep 17 00:00:00 2001 From: huzh Date: Sat, 23 Dec 2023 07:43:47 +0000 Subject: [PATCH] add except sqlite3.OperationalEror --- app/DataBase/merge.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/app/DataBase/merge.py b/app/DataBase/merge.py index 05d51ac..72411a2 100644 --- a/app/DataBase/merge.py +++ b/app/DataBase/merge.py @@ -12,21 +12,22 @@ def merge_MediaMSG_databases(source_paths, target_path): if not os.path.exists(source_path): break db = sqlite3.connect(source_path) - db.text_factory = str + db.text_factory = str cursor = db.cursor() - sql = ''' - SELECT Key,Reserved0,Buf,Reserved1,Reserved2 FROM Media; - ''' - cursor.execute(sql) - result = cursor.fetchall() # 附加源数据库 try: + sql = '''SELECT Key,Reserved0,Buf,Reserved1,Reserved2 FROM Media;''' + cursor.execute(sql) + result = cursor.fetchall() + target_cursor.executemany( "INSERT INTO Media (Key,Reserved0,Buf,Reserved1,Reserved2)" "VALUES(?,?,?,?,?)", result) except sqlite3.IntegrityError: print("有重复key", "跳过") + except sqlite3.OperationalError: + print("no such table: Media", "跳过") cursor.close() db.close() # 提交事务