簡體   English   中英

如何從列表創建sqlite3表列? (在python中)

[英]How to create sqlite3 table columns from a list? (in python)

我正在嘗試根據用戶請求構建表列(列表的大小可能會改變,這就是為什么我無法確定確切數量的問號的原因):

userInput=[a,b,c,d,e,f,g]
ct.execute('CREATE TABLE IF NOT EXISTS chars(?)',(userInput))

我收到以下錯誤:

sqlite3.OperationalError: near "?": syntax error

為了回答您的問題,我們將忽略安全問題。 我假設您想根據您的python列表創建(無類型)列。

CREATE TABLE chars (a,b,c,d,e,f,g)

這是我的建議:

userInput=['a','b','c','d','e','f','g']
q = "CREATE TABLE IF NOT EXISTS chars(%s)" % ", ".join(userInput)

(請注意,必須按照字符串文字的Python語法用引號引起來)。

也許有人爭辯說%s作為一種語法是“不加強調的”,但在我的拙見中,在這種情況下,它非常簡潔。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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