首页 > 解决方案 > 从数据库读取数据时出现 SQL 语法错误

问题描述

运行这里显示的代码,我得到一个 SQL 语法错误,找不到原因:

startEpoch = 1623331800#july 10 7PM ePOCH
EndEpoch = 1624195800#july 20 7PM ePOCH

query = "SELECT `Machine`,`Epoch`,`Time`,`STATE` FROM MSC where `Epoch`>=" + str(startEpoch) + "and `Epoch`<=" + str(EndEpoch) + ";"
df = pd.read_sql(query, db)
df.head(3)

错误:

数据库错误:在 SQL 'SELECT Machine, Epoch, Time, STATEFROM MSC where Epoch>=1623331800and Epoch<=1624195800;' 上执行失败:

1064 (42000): 你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以Epoch在第 1 行的“<=1624195800”附近使用正确的语法

标签: pythonmysqlsyntaxsyntax-error

解决方案


AND值为1623331800的关键字 concat 和

试试下面的:

startEpoch = 1623331800#july 10 7PM ePOCH
EndEpoch = 1624195800#july 20 7PM ePOCH

query = "SELECT `Machine`,`Epoch`,`Time`,`STATE` FROM MSC where `Epoch`>= " + str(startEpoch) + " and `Epoch`<= " + str(EndEpoch) + ";"
df = pd.read_sql(query, db)
df.head(3)

推荐阅读