将Python字典用于SQL INSERT语句

我正在尝试使用dict做SQL INSERT。逻辑基本上是:

INSERT INTO table (dict.keys()) VALUES dict.values()

但是,我很难确定要执行此操作的正确语法/流程。这是我目前拥有的:

# data = {...}

sorted_column_headers_list = []

sorted_column_values_list = []

for k, v in data.items():

sorted_column_headers_list.append(k)

sorted_column_values_list.append(v)

sorted_column_headers_string = ', '.join(sorted_column_headers_list)

sorted_column_values_string = ', '.join(sorted_column_values_list)

cursor.execute("""INSERT INTO title (%s)

VALUES (%s)""",

(sorted_column_headers_string, sorted_column_values_string))

由此我得到一个SQL异常(我认为与逗号包含在我所拥有的某些值中有关)。做上述事情的正确方法是什么?

回答:

您要向查询添加参数占位符。这可能会为您提供所需的东西:

qmarks = ', '.join('?' * len(myDict))

qry = "Insert Into Table (%s) Values (%s)" % (qmarks, qmarks)

cursor.execute(qry, myDict.keys() + myDict.values())

以上是 将Python字典用于SQL INSERT语句 的全部内容, 来源链接: utcz.com/qa/404710.html

回到顶部