baidu_web/test/rename1.py

53 lines
1.6 KiB
Python

import sqlite3
def rename_column(db_path):
# 데이터베이스에 연결
conn = sqlite3.connect(db_path)
cursor = conn.cursor()
try:
# 기존 테이블을 새로운 테이블로 변경
cursor.execute('''
ALTER TABLE products RENAME TO products_old;
''')
# 새로운 테이블 생성, 필드 이름을 변경한 상태로 만듦
cursor.execute('''
CREATE TABLE products (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT,
image_url TEXT,
tag TEXT,
price INTEGER,
category TEXT,
percenty_category TEXT,
selected_search_result_id INTEGER,
FOREIGN KEY(selected_search_result_id) REFERENCES search_results(id)
);
''')
# 기존 테이블에서 데이터를 복사
cursor.execute('''
INSERT INTO products (id, name, image_url, tag, price, category, percenty_category, selected_search_result_id)
SELECT id, name, image_url, tag, price, category, percent_category, selected_search_result_id
FROM products_old;
''')
# 기존 테이블 삭제
cursor.execute('''
DROP TABLE products_old;
''')
conn.commit()
print("Column renamed successfully.")
except Exception as e:
print(f"An error occurred: {e}")
conn.rollback()
finally:
conn.close()
# 실행
rename_column("products.db")