簡體   English   中英

如何將列名和類型“格式化”為 python sqlite3?

[英]How to "format" column names and types into python sqlite3?

我有一個要在批量創建表時使用的函數。
這是函數:

def make_tables(tablenames: list, cursor: sql.Cursor, parameters, connection: sql.Connection):
    for i in tablenames:
        cursor.execute(f"CREATE TABLE IF NOT EXISTS '{scrub(i)}' ('{parameters}')")
    connection.commit()

我的參數變量是parameters = 'name text, id integer'它的作用是創建一個包含一列的表,名為“name text, id integer”,類型未知。
來自這里的解決方案: Python sqlite3,在 .format 的幫助下從列表創建表列不起作用。 我將使用不同的名稱和類型作為輸入,並且列數會有所不同。
有什么方法可以解決這個問題?

不要在{parameters}周圍加上引號,這會將其變成單個參數定義。

        cursor.execute(f"CREATE TABLE IF NOT EXISTS '{scrub(i)}' ({parameters})")

暫無
暫無

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

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