[英]Create a new SQLite table in python with for-loop
假設我有 100 個不同的整數,我想像一行 100 列一樣存儲。
我正在嘗試這樣:
db = sqlite3.connect("test.db")
c = db.cursor()
c.execute('''
CREATE TABLE IF NOT EXISTS nums(
id INTEGER PRIMARY KEY,
''')
for i in range(100):
c.execute('''
ALTER TABLE nums
ADD ''' + 'column_' + i + '''INTEGER''')
db.commit()
有人告訴我,當您使用數字作為列名時,您可能會做得更好。 但是,例如,如果我在 python 中有一個包含字符串的列表,並且我想遍歷它們並將每個單獨的字符串存儲在自己的列中,那么方法是一樣的,對吧?
但是,這段代碼對我來說運行沒有錯誤,但沒有創建新表,怎么會?
您的 ALTER 語句不正確,因為它在添加后缺少 COLUMN。 您可以使用以下內容:
for i in range(100):
c.execute(f'ALTER TABLE nums ADD COLUMN column_{i} INTEGER')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.