gpt4 book ai didi

python - pymysql - pymysql.err.InternalError : 1054, 用户输入字符串用作列名

转载 作者:行者123 更新时间:2023-11-29 19:04:34 31 4
gpt4 key购买 nike

我是 Python 和 MySQL 新手,所以我正在使用只读帐户进行练习。我正在尝试创建一个可执行脚本,该脚本基本上要求提供名字、姓氏,然后将它们插入查询并返回结果。以下是我所拥有的以及我收到的错误:

cur = conn.cursor()

user_input_fname = raw_input("Enter Trainer First Name: ")
user_input_lname = raw_input("Enter Trainer Last Name: ")

cur.execute(" SELECT concat(u.firstname, ' ', u.lastname) AS clientName, us.sessionid AS sessionID, convert_tz(s.starttime, '+00:00', '+04:00') AS sessionTimeEST, concat(t.firstname, ' ', t.lastname) AS trainerName FROM usersessions us LEFT JOIN users u ON us.userid = u.id INNER JOIN sessions s ON us.sessionid = s.id INNER JOIN trainers t ON s.trainerid = t.id WHERE u.firstname = %s AND u.lastname =%s ORDER BY s.starttime;' " %(user_input_fname, user_input_lname))

data = cur.fetchall()

cur.close()
conn.close()

ERROR: pymysql.err.InternalError: (1054, u"Unknown column 'ethan' in 'where clause'")

我觉得某处缺少 ' 或 ",但我无法弄清楚我的语法错误。

最佳答案

sql 中的字符串文字必须用 '" 括起来。您在 where 子句中提供名称,因此这些名称应该是由语音标记之一括起来:

...WHERE u.firstname = '%s' AND u.lastname ='%s'...

在 sql 语句末尾处还有一个尾随单引号。如果这确实存在于您的代码中,则必须将其删除。

关于python - pymysql - pymysql.err.InternalError : 1054, 用户输入字符串用作列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43612294/

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