Я вставляю данные JSON в базу данных MySQL
Я анализирую JSON, а затем вставляю его в базу данных MySQL с помощью соединителя Python
Проведя пробную версию, я вижу, что ошибка связана с этим фрагментом кода
for steps in result['routes'][0]['legs'][0]['steps']:
query = ('SELECT leg_no FROM leg_data WHERE travel_mode = %s AND Orig_lat = %s AND Orig_lng = %s AND Dest_lat = %s AND Dest_lng = %s AND time_stamp = %s')
if steps['travel_mode'] == "pub_tran":
travel_mode = steps['travel_mode']
Orig_lat = steps['var_1']['dep']['lat']
Orig_lng = steps['var_1']['dep']['lng']
Dest_lat = steps['var_1']['arr']['lat']
Dest_lng = steps['var_1']['arr']['lng']
time_stamp = leg['_sent_time_stamp']
if steps['travel_mode'] =="a_pied":
query = ('SELECT leg_no FROM leg_data WHERE travel_mode = %s AND Orig_lat = %s AND Orig_lng = %s AND Dest_lat = %s AND Dest_lng = %s AND time_stamp = %s')
travel_mode = steps['travel_mode']
Orig_lat = steps['var_2']['lat']
Orig_lng = steps['var_2']['lng']
Dest_lat = steps['var_2']['lat']
Dest_lng = steps['var_2']['lng']
time_stamp = leg['_sent_time_stamp']
cursor.execute(query,(travel_mode, Orig_lat, Orig_lng, Dest_lat, Dest_lng, time_stamp))
leg_no = cursor.fetchone()[0]
print(leg_no)
Я вставил детали более высокого уровня и теперь ищу в базе данных, чтобы связать эту информацию более низкого уровня с ее родительским элементом. Единственный способ найти это уникальное значение — выполнить поиск по координатам начала и назначения с помощью отметки времени. Я считаю, что логика верна, и, распечатав leg_no сразу после этого раздела, я могу увидеть значения, которые при первой проверке кажутся правильными.
Однако при добавлении к остальным кода, это приводит к сбою последующих разделов, в которые с помощью курсора вставляется больше данных -
raise errors.InternalError("Unread result found.")
mysql.connector.errors.InternalError: Unread result found.
Проблема похожа на непрочитанный результат MySQL с Python
Запрос слишком сложен и требует разделения или есть еще одна проблема?
Если запрос действительно слишком сложный, может ли кто-нибудь посоветовать, как лучше его разделить?
РЕДАКТИРОВАТЬ Согласно помощи @Gord, я пытался сбросить все непрочитанные результаты
cursor.execute(query,(leg_travel_mode, leg_Orig_lat, leg_Orig_lng, leg_Dest_lat, leg_Dest_lng))
leg_no = cursor.fetchone()[0]
try:
cursor.fetchall()
except mysql.connector.errors.InterfaceError as ie:
if ie.msg == 'No result set to fetch from.':
pass
else:
raise
cursor.execute(query,(leg_travel_mode, leg_Orig_lat, leg_Orig_lng, leg_Dest_lat, leg_Dest_lng, time_stamp))
Но я все равно получаю
raise errors.InternalError("Unread result found.")
mysql.connector.errors.InternalError: Unread result found.
[Finished in 3.3s with exit code 1]
чешет голову
РЕДАКТИРОВАТЬ 2 – когда я печатаю ie.msg, Я понимаю -
No result set to fetch from
Подробнее здесь: https://stackoverflow.com/questions/297 ... g-fetchone
Соединитель Python MySQL – при использовании fetchone обнаружен непрочитанный результат ⇐ Python
Программы на Python
1735482435
Anonymous
Я вставляю данные JSON в базу данных MySQL
Я анализирую JSON, а затем вставляю его в базу данных MySQL с помощью соединителя Python
Проведя пробную версию, я вижу, что ошибка связана с этим фрагментом кода
for steps in result['routes'][0]['legs'][0]['steps']:
query = ('SELECT leg_no FROM leg_data WHERE travel_mode = %s AND Orig_lat = %s AND Orig_lng = %s AND Dest_lat = %s AND Dest_lng = %s AND time_stamp = %s')
if steps['travel_mode'] == "pub_tran":
travel_mode = steps['travel_mode']
Orig_lat = steps['var_1']['dep']['lat']
Orig_lng = steps['var_1']['dep']['lng']
Dest_lat = steps['var_1']['arr']['lat']
Dest_lng = steps['var_1']['arr']['lng']
time_stamp = leg['_sent_time_stamp']
if steps['travel_mode'] =="a_pied":
query = ('SELECT leg_no FROM leg_data WHERE travel_mode = %s AND Orig_lat = %s AND Orig_lng = %s AND Dest_lat = %s AND Dest_lng = %s AND time_stamp = %s')
travel_mode = steps['travel_mode']
Orig_lat = steps['var_2']['lat']
Orig_lng = steps['var_2']['lng']
Dest_lat = steps['var_2']['lat']
Dest_lng = steps['var_2']['lng']
time_stamp = leg['_sent_time_stamp']
cursor.execute(query,(travel_mode, Orig_lat, Orig_lng, Dest_lat, Dest_lng, time_stamp))
leg_no = cursor.fetchone()[0]
print(leg_no)
Я вставил детали более высокого уровня и теперь ищу в базе данных, чтобы связать эту информацию более низкого уровня с ее родительским элементом. Единственный способ найти это уникальное значение — выполнить поиск по координатам начала и назначения с помощью отметки времени. Я считаю, что логика верна, и, распечатав leg_no сразу после этого раздела, я могу увидеть значения, которые при первой проверке кажутся правильными.
Однако при добавлении к остальным кода, это приводит к сбою последующих разделов, в которые с помощью курсора вставляется больше данных -
raise errors.InternalError("Unread result found.")
mysql.connector.errors.InternalError: Unread result found.
Проблема похожа на непрочитанный результат MySQL с Python
Запрос слишком сложен и требует разделения или есть еще одна проблема?
Если запрос действительно слишком сложный, может ли кто-нибудь посоветовать, как лучше его разделить?
РЕДАКТИРОВАТЬ Согласно помощи @Gord, я пытался сбросить все непрочитанные результаты
cursor.execute(query,(leg_travel_mode, leg_Orig_lat, leg_Orig_lng, leg_Dest_lat, leg_Dest_lng))
leg_no = cursor.fetchone()[0]
try:
cursor.fetchall()
except mysql.connector.errors.InterfaceError as ie:
if ie.msg == 'No result set to fetch from.':
pass
else:
raise
cursor.execute(query,(leg_travel_mode, leg_Orig_lat, leg_Orig_lng, leg_Dest_lat, leg_Dest_lng, time_stamp))
Но я все равно получаю
raise errors.InternalError("Unread result found.")
mysql.connector.errors.InternalError: Unread result found.
[Finished in 3.3s with exit code 1]
чешет голову
РЕДАКТИРОВАТЬ 2 – когда я печатаю ie.msg, Я понимаю -
No result set to fetch from
Подробнее здесь: [url]https://stackoverflow.com/questions/29772337/python-mysql-connector-unread-result-found-when-using-fetchone[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия