Не могу присвоить результат запроса переменной Python - PullRequest
0 голосов
/ 11 июня 2018

У меня есть этот запрос:

import mysql.connector
cnx = mysql.connector.connect(user='root', password='xxx',
                              host='127.0.0.1',
                              database='xxxx')
cursor = cnx.cursor()
query = ("SELECT app_id FROM op_ids")
cursor.execute(query)
LATCH_APP_ID=cursor.fetchall()


cursor.close()
cnx.close()

Значение app_id в базе данных равно ybDWvzU4iijnqqX8xAxx , но когда я запускаю скрипт python, он возвращает [(u'ybDWvzU4iijnqqX8xAxx',)] , поэтому я не могу использовать его в другом методе, потому что я получаю следующую ошибку:

TypeError: cannot concatenate 'str' and 'list' objects

Если используется переменная, подобная этой:

LATCH_APP_ID = "ybDWvzU4iijnqqX8xAxx"

Сценарий работает нормально

Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 11 июня 2018

Кажется, что cursor.fetchall() вернуло:

[(u'ybDWvzU4iijnqqX8xAxx',)]

Так что вам нужно только извлечь строку из с в структурах:

result = cursor.fetchall()

t = result[0]        # fetch the tuple from the first item in the list

LATCH_APP_ID = t[0]  # fetch the string from the first (only) item in the tuple
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...