Python&MySQL:带变量的SELECT语句

2022-04-03 00:00:00 python mysql-python select where

问题描述

嗨,我正在寻找类似的帖子,但找不到任何这样的帖子,所以决定张贴。 如有任何提示或链接,我们将不胜感激。

我使用的是python2.7+MySQLdb,我执行了一条SQL语句,但遇到了一个奇怪的问题。

[工作]

Val3 = 1
sql = """SELECT ValA FROM %s WHERE Val2 = %s AND Val3 = %s""" % (Val1, Val2, Val3)

[不起作用]

Val3 = "variable"
sql = """SELECT ValA FROM %s WHERE Val2 = %s AND Val3 = %s""" % (Val1, Val2, Val3)

当我使用文本作为变量时,无法执行SQL语句。

(注意:没有错误消息会被视为不存在)

有人知道问题出在哪里吗?


解决方案

添加引号:

sql = """SELECT ValA FROM `%s` WHERE Val2 = '%s' AND Val3 = '%s'""" % (Val1, Val2, Val3)

相关文章