Я пытался обновить записи с помощью cursor.execute в базе данных, но он всегда возвращает NoneType, а не итерируемую ошибку, поэтому я решил проверить что-то простое, например «выбрать curtime()», и он дает ту же ошибку.
cnx=pymysql.connect(user=user,password=pw,
host=127.0.0.1,port=3306,db=test,autocommit=True)
cursor=cnx.cursor()
cursor.execute('Select curtime()')
я получаю 'TypeError: объект 'NoneType' не является итерируемым'
Изменить: я понимаю, что вы имеете в виду, говоря о необходимости полной трассировки, я вернулся домой, и проблема исчезла.
File "/opt/anaconda3/lib/python3.4/site-packages/pymysql/cursors.py", line 51, in close
while self.nextset():
с этой ошибкой, которую я нашел из других статей, это потому, что моя более ранняя реальная строка оператора sql cursor.execute(longsqlstatement) очень длинная, и когда я пытаюсь закрыть соединение и курсор, это вызывает эту ошибку. и в моем тесте curtime(), поскольку мой предыдущий курсор не закончил выполнение, он также вызывает ошибку NoneType. Итак, мой вопрос: как я узнаю, что все инструкции sql успешно выполнены, и я могу закрыть соединение?