diff --git a/aabook/src/sqlite_utils.py b/aabook/src/sqlite_utils.py index a0b66f3..3bdab5a 100644 --- a/aabook/src/sqlite_utils.py +++ b/aabook/src/sqlite_utils.py @@ -15,6 +15,12 @@ tbl_name_books = 'books' tbl_name_chapters_prefix = 'chapters' tbl_name_section = 'books_sections' + +# 检查 SQLite 版本 +sqlite_version = sqlite3.sqlite_version_info +if sqlite_version < (3, 24, 0): + logging.warning("当前 SQLite 版本低于 3.24.0,可能不支持 ON CONFLICT 子句。") + # 获取表的列名和默认值 def get_table_columns_and_defaults(tbl_name): try: @@ -61,7 +67,7 @@ def insert_or_update_common(data, tbl_name, uniq_key='href'): columns = ', '.join(processed_data.keys()) values = list(processed_data.values()) placeholders = ', '.join(['?' for _ in values]) - update_clause = ', '.join([f"{col}=EXCLUDED.{col}" for col in processed_data.keys() if col != {uniq_key}]) + ', updated_at=datetime(\'now\', \'localtime\')' + update_clause = ', '.join([f"{col}=EXCLUDED.{col}" for col in processed_data.keys() if col != uniq_key]) + ', updated_at=datetime(\'now\', \'localtime\')' sql = f''' INSERT INTO {tbl_name} ({columns}, updated_at)