簡體   English   中英

使用 for 循環在 python 中創建一個新的 SQLite 表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM