baidu_web/test/rename.py

52 lines
1.7 KiB
Python

import sqlite3
def add_id_column_to_search_results(db_path):
# 데이터베이스 연결
conn = sqlite3.connect(db_path)
cursor = conn.cursor()
try:
# 기존 테이블 이름 변경
cursor.execute("ALTER TABLE search_results RENAME TO search_results_old")
# 새로운 테이블 생성 (id 필드 추가)
cursor.execute('''
CREATE TABLE search_results (
id INTEGER PRIMARY KEY AUTOINCREMENT,
product_id INTEGER,
title TEXT,
source TEXT,
price TEXT,
imgurl TEXT,
encrypted_url TEXT,
original_url TEXT,
is_selected BOOLEAN DEFAULT 0,
FOREIGN KEY (product_id) REFERENCES products(id)
)
''')
# 기존 테이블의 데이터를 새 테이블로 복사
cursor.execute('''
INSERT INTO search_results (product_id, title, source, price, imgurl, encrypted_url, original_url, is_selected)
SELECT product_id, title, source, price, imgurl, encrypted_url, original_url, is_selected
FROM search_results_old
''')
# 변경 사항 저장
conn.commit()
# 기존 테이블 삭제
cursor.execute("DROP TABLE search_results_old")
conn.commit()
print("Successfully added 'id' column to search_results.")
except Exception as e:
print(f"An error occurred: {e}")
finally:
# 연결 종료
conn.close()
# 데이터베이스 파일 경로를 지정하고 함수 호출
add_id_column_to_search_results("products.db")