mysql.connector.errors.InternalError: Unread result found.
import pandas as pd
import mysql.connector as cnmsq
try:
cnkun = cnmsq.connect(user='root',
password='123456',
host='127.0.0.1',
database='dbkun')
except:
print('failed connect!')
table = pd.read_excel(r'D:\source.xls')
names = list(table['种名'])
acc_or_syn = [None]*len(table)
acc_family = [None]*len(table)
acc_genus = [None]*len(table)
acc_names = [None]*len(table)
acc_fnames = [None]*len(table)
aos_query = "SELECT is_accepted_name, accepted_id FROM kun_species WHERE species_name=%s"
acc_query = "SELECT species_family, species_genus, species_name, species_full_name FROM kun_species WHERE species_id=%s"
cursor = cnkun.cursor()
for i, name in enumerate(names):
cursor.execute(aos_query, (name.strip(),))
for w, s in cursor:
acc_or_syn[i] = w
cursor.execute(acc_query, (s,))
acc_tuple = cursor.fetchone()
acc_family[i], acc_genus[i], acc_names[i], acc_fnames[i] = acc_tuple
上面这段代码的逻辑是从source.xlsx文件中读取某一列,然后根据该列的每一行字符串从mysql数据中找出该字符串及其对应的值,对于绝大部分source.xlsx列中的字符串,在mysql数据表中都仅有一条记录与之对应,也就是说大多数情况下cursor.execute(aos_query, (name.strip(),))内只有一行记录,但当mysql中遇到执行cursor.execute(aos_query, (name.strip(),))出现多于一行记录时,程序就会出错:
Traceback (most recent call last):
File "D:\...py", line 43, in
cursor.execute(acc_query, (s,))
File "C:\Users\...\Anaconda3\lib\site-packages\mysql\connector\cursor.py", line 476, in execute
raise errors.InternalError("Unread result found.")
mysql.connector.errors.InternalError: Unread result found.
请问这是什么原因。
相关阅读:
如何异步编程?
No resource found that matches the given name
Buildbot: Triggering Schedulers, 如何获取参数set_properties设置的值
SQL:如何使用尽可能简单的方式实现这个SQL语句呢?
移动端web页面布局该怎么学
为什么 node可以不用nginx这类软件?
react-router采用browserHistory,eclipse服务器端应该怎样配置?
如何实现根据每个人随机推荐,并且不会重复出现已经推荐过的
p2p cdn快还是普通http cdn快
linux下使用gdb调试core文件如何设置参数
svg和css做同样的效果哪个比较合适
如何实现跨库的事务操作
'D:\\gks\\xmframe/resource/es5/page/page1.js'是什么路径?
web app下iconfont的矢量图标在部分安卓手机自带浏览器、微信/QQ WebView 等上面无法显示
angularjs如何实现图片延迟加载?
新手用nginx,有几个问题问下大神们
nodejs连接oracle数据
静态布局和样式css问题
移动端页面通过前端方法禁止ios页面横屏?
设置了跨域,CORS 头 'Access-Control-Allow-Origin' 不匹配 '*,XXX'