pymysql查询:无法回滚
连接很好,但查询语句似乎有问题pymysql查询:无法回滚,mysql,sql,python-3.x,pandas,pymysql,Mysql,Sql,Python 3.x,Pandas,Pymysql,连接很好,但查询语句似乎有问题 query1 = """SELECT * FROM `DATABASE` WHERE `coin` = 'LTC'""" query2 = """SELECT * FROM `DATABASE` WHERE `coin` = 'LTC' AND `date` > '2019-01-01 15:06:23'""" 然后 import pandas as pd result = pd.read_sql(query, connection) 它在que
query1 = """SELECT * FROM `DATABASE` WHERE `coin` = 'LTC'"""
query2 = """SELECT * FROM `DATABASE` WHERE `coin` = 'LTC' AND `date` > '2019-01-01 15:06:23'"""
然后
import pandas as pd
result = pd.read_sql(query, connection)
它在query1中工作得非常好,但在query2中会出现这样的错误:
结果=pd.read\u sql(查询、连接)
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
结果=pd.read\u sql(查询、连接)
文件“C:\Users\luzhe\Anaconda3\lib\site packages\pandas\io\sql.py”,第381行,以read\U sql格式
chunksize=chunksize)
文件“C:\Users\luzhe\Anaconda3\lib\site packages\pandas\io\sql.py”,第1413行,在read\U查询中
游标=self.execute(*args)
文件“C:\Users\luzhe\Anaconda3\lib\site packages\pandas\io\sql.py”,第1386行,在execute中
使用_回溯(ex)引发_
文件“C:\Users\luzhe\Anaconda3\lib\site packages\pandas\compat\ \uuuuuu init\uuuuuuuu.py”,第404行,带回溯的raise\u
使用回溯(回溯)提升exc
文件“C:\Users\luzhe\Anaconda3\lib\site packages\pandas\io\sql.py”,第1382行,在execute中
self.con.rollback()
文件“C:\Users\luzhe\Anaconda3\lib\site packages\pymysql\connections.py”,第808行,在回滚中
self.\u执行\u命令(command.COM\u查询,“回滚”)
文件“C:\Users\luzhe\Anaconda3\lib\site packages\pymysql\connections.py”,第1122行,在执行命令中
raise err.InterfaceError((0,))
DatabaseError:在sql上执行失败:从'DATABASE'中选择*,其中'coin'='LTC'和'date'>'2019-01-01 15:06:23'
(0, '')
无法回滚
我想知道“无法回滚”是什么意思,以及如何解决PyMySQL中的多条件选择
无法回滚
这意味着您的查询尚未成功执行
未关闭的连接通常是导致该错误的原因。您可能没有关闭上一个连接。您通常可以使用与连接实例关联的
close
方法来执行此操作。我猜这意味着事务失败。在你的表格中有一个名为data
的列吗?这里的pd
是什么?@10101010不,我不这么认为so@10101010但是我确实有一个日期
在列中扫描我知道什么是pd
?是指熊猫吗?
Traceback (most recent call last):
File "<ipython-input-25-c7c27cfd9a6b>", line 1, in <module>
result = pd.read_sql(query, connection)
File "C:\Users\luzhe\Anaconda3\lib\site-packages\pandas\io\sql.py", line 381, in read_sql
chunksize=chunksize)
File "C:\Users\luzhe\Anaconda3\lib\site-packages\pandas\io\sql.py", line 1413, in read_query
cursor = self.execute(*args)
File "C:\Users\luzhe\Anaconda3\lib\site-packages\pandas\io\sql.py", line 1386, in execute
raise_with_traceback(ex)
File "C:\Users\luzhe\Anaconda3\lib\site-packages\pandas\compat\__init__.py", line 404, in raise_with_traceback
raise exc.with_traceback(traceback)
File "C:\Users\luzhe\Anaconda3\lib\site-packages\pandas\io\sql.py", line 1382, in execute
self.con.rollback()
File "C:\Users\luzhe\Anaconda3\lib\site-packages\pymysql\connections.py", line 808, in rollback
self._execute_command(COMMAND.COM_QUERY, "ROLLBACK")
File "C:\Users\luzhe\Anaconda3\lib\site-packages\pymysql\connections.py", line 1122, in _execute_command
raise err.InterfaceError("(0, '')")
DatabaseError: Execution failed on sql: SELECT * FROM `DATABASE` WHERE `coin` = 'LTC' AND `date` > '2019-01-01 15:06:23'
(0, '')
unable to rollback