python用fetchone()可以获取数据,用fetchall()却失败了?

python小白紧急求助!
用python获取MySQL的数据,但是奇怪的是用fetchone()成功了,但是fetchall()却失败了,有没有大佬可以解答一下...

//fetchone()

try:
    cursor.execute(sql)
    results = cursor.fetchall()
    for i in results:
        print (i+'\n')
except:
    print("Error: unable to fecth data")

结果:

图片说明

错误情况:

//fetchall()

try:
    cursor.execute(sql)
    results = cursor.fetchone()
    for i in results:
        print (i+'\n')
except:
    print("Error: unable to fecth data")

结果:

图片说明

你的代码, 是 fetchall() 成功 , fetchone() 失败 ? 说反了?

抛出异常时,打印出错信息, 了解下为什么出错。这样有助于定位问题。


try:
    cursor.execute(sql)
    results = cursor.fetchall()
    for r in results:
            print(r)

except Exception as e:
    print("Error: unable to fecth all data")
    print(repr(e))



try:
    cursor.execute(sql)
    results = cursor.fetchone()
    print(results)

except Exception as e:
    print("Error: unable to fecth one data")
    print(repr(e))