我有此查询的python代码:

import mysql.connector
from mysql.connector import errorcode

config = {
    'user': 'root',
    'password': 'root',
    'host': 'localhost',
    'database': 'myDatabase'}


cn = mysql.connector.connect(**config)
cur = cn.cursor()
emailExist = cur.execute("""SELECT * FROM
customerDetails""").fetchall()
print(emailExist)


并得到此错误:


  
    
      emailExist = cur.execute(“”“ SELECT * FROM customerDetails”“”)。fetchall()
      
      AttributeError:“ NoneType”对象没有属性“ fetchall”
    
  


我的数据库文件与此脚本位于同一目录中。

当我在MySQLWorkbench中运行相同的查询时,输出为:

返回0行

添加了插入代码:

cursor = cn.cursor()
sql1 = """INSERT INTO customerDetails
VALUES (3, "h", "h",
"h", "h", "h",
"h", "h", "h",
1, 1, 1)"""
result = cursor.execute(sql1)
cursor.close()
cn.close()

最佳答案

文件:https://dev.mysql.com/doc/connector-python/en/connector-python-api-mysqlcursor-fetchall.html


  AttributeError:“ NoneType”对象没有属性“ fetchall”


意思是:

cur.execute("""SELECT * FROM customerDetails""")返回无,并且没有fetchall属性。

您必须在光标(cur.fetchall())上使用fetchall()方法。

关于python - 返回的Python SQL查询'NoneType'对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59829195/

10-13 02:48