我的查询出现错误。错误是
mysql.connector.errors.ProgrammingError: 1064 (42000): 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 '18:07:41' at line 1首先,我不理解第1行是指什么,因为我的查询不在Python脚本中的第1行。
我的代码如下所示
conn = mysql.connector.connect(
host='HOST.mysql.pythonanywhere-services.com',
user='USER',
passwd='PASSWORD',
db='DBNAME')
c = conn.cursor()
value = datetime.now() - timedelta(5)
value = value.strftime('%Y-%m-%d %H:%M:%S')
c.execute("SELECT temp, humidity, rain, datetime FROM data WHERE datetime >= (%s);" % (value))
rows = c.fetchall()和datetime在另一个脚本中输入到数据库中,如下所示
str(datetime.datetime.now())这是做这件事的最佳方式吗?我只想要一个值输入到数据库中的时间戳。
我在查询中使用了不同的参数进行了测试,例如temp的值
value = 10
c.execute("SELECT temp, humidity, rain, datetime FROM data WHERE temp >= (%s);" % (value))所以我想一定是我格式化datetime的方式有问题,但是我不确定如何验证这一点。
谢谢你的帮助
发布于 2019-05-01 02:34:37
像这样试一下
"select * FROM table WHERE datetime => '{}' ". format(value) https://stackoverflow.com/questions/55926811
复制相似问题