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