我想使用python程序查询MySQL表,但出现此错误:
ProgrammingError:1064(42000):您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在第1行的“ 10”偏移量“ 0”附近使用]
令人困惑的是,当我不使用变量时,查询运行如下所示:
cur = connection.cursor() query = "SELECT * FROM DB.Table LIMIT 10 OFFSET 0" cur.execute(query) records = cur.fetchall() for record in records: print(record)
但是我需要逐批选择数据,我必须在for循环中执行上述命令。我需要定义变量。但是我收到了错误1064。这是有错误的代码:
i = 0 p = str(i) j = 10 q = str(j) cur = connection.cursor() query = "SELECT * FROM DB.Table LIMIT %s OFFSET %s" cur.execute(query,(q,p,)) records = cur.fetchall() for record in records: print(record)
感谢您的帮助。
我想使用python程序查询MySQL表,但出现此错误:ProgrammingError:1064(42000):您的SQL语法有错误;检查与您的MySQL服务器相对应的手册...
您可以使用cur.execute(query % (q,p))
或
简单来说,请勿将参数化的值转换为字符串,因为错误会显示单引号: