gpt4 book ai didi

python - 如何使用 mysaldb 插入 mysql 表,其中表名在 python 变量中?

转载 作者:太空狗 更新时间:2023-10-30 02:34:52 25 4
gpt4 key购买 nike

我正在使用 python-mysql db api 将一些值插入表名在 python 变量中的表中。所以我写了下面的代码

DB_CURSOR.execute("""INSERT INTO %s (name,created_by,state,description,docs,admin_email,date_created) VALUES(%s,%s,%s,%s,%s,%s,%s)""", (hosts_table, hostname, created_by, state, description, docroot, admin_email, date_created))

如您所见,表名位于 hosts_table 变量中。问题是 mysqldb 引用了表名,我得到了一个 mysql 错误。当我从字面上使用表名时它工作正常。我该如何解决这个问题?

最佳答案

DB_CURSOR.execute("""INSERT INTO %s 
(name,created_by,state,description,docs,admin_email,date_created)
VALUES(%%s,%%s,%%s,%%s,%%s,%%s,%%s)""" % hosts_table,
(hostname, created_by, state, description, docroot, admin_email, date_created))

请注意,hosts_table 变量是单个 % 符号,所有其他变量都是两个 %%,因此它们在初始 Python 字符串插值中被忽略,然后更改为 mysqldb 部分的单个 %。

在 Python 提示符下试试看我的意思:

>>> '%%s %s' % 'x'
'%s x'

关于python - 如何使用 mysaldb 插入 mysql 表,其中表名在 python 变量中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5936806/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com