具有多参数限制的Python-SQL-SELECT语法

2024-09-27 23:20:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个在MySQL中工作的SQL语句:

SELECT * FROM kaio_jadwal WHERE param1=88 AND param2=973 AND param3=22554 LIMIT 0,10

当我尝试使用Python时:

sql = """SELECT * FROM kaio_jadwal WHERE param1=%s AND param2=%s AND param3=%s LIMIT %s OFFSET %s"""
filter = (param1,param2,param3,limit,offset)

我犯了个错误:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''10' OFFSET '25''

这是我的密码:

sql = """SELECT * FROM kaio_jadwal WHERE param1=%s AND param2=%s AND param3=%s LIMIT %s OFFSET %s"""
filter = (param1,param2,param3,limit,offset)
cursor.execute(sql,filter)
rows = cursor.fetchall()

Python中的语法应该如何工作?你知道吗


Tags: andfromsqlmysqlfilterwhereselectoffset
1条回答
网友
1楼 · 发布于 2024-09-27 23:20:03

cursor.execute正在将限制和偏移量转换为字符串,但MySQL需要int。尝试使用%d表示偏移量和限制的符号更改SQL字符串:

sql = """SELECT * FROM kaio_jadwal WHERE param1=%s AND param2=%s AND param3=%s LIMIT %d OFFSET %d"""

相关问题 更多 >

    热门问题