@denisssCute

Почему SQL запрос возвращает список?

Добрый день. У меня есть MySQL база данных со столбцами id и name спортсменов. Я хочу получить id в переменную , но SELECT возвращает список вместо числа.
У id в базе данных стоит int
show_swimmer = "SELECT main_swimmers.id FROM main_swimmers WHERE main_swimmers.name = 'Колесников Климент'"
id_swimmer = execute_read_query(connection, show_swimmer)      
print(id_swimmer )

Возвращает:
[(3163)]
Как быть?
  • Вопрос задан
  • 139 просмотров
Решения вопроса 2
@AndDobr
print(show_swimmer[0][0]) должно работать
Ответ написан
ipatiev
@ipatiev
Потомок старинного рода Ипатьевых-Колотитьевых
> Почему SQL запрос возвращает список?

Потому что функция execute_read_query написана так, чтобы возвращать список.

> Как быть?

По уму - написать функцию, которая будет возвращать не список, а скаляр. И вызывать её вместо execute_read_query когда нужно только одно значение из одной строки таблицы.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@PavelMos
Это вложенный список из одного числа. То есть надо проверить, было ли что-то в ответе - не пустой ли список, и если не пустой, взять его нулевой элемент его нулевого элемента.
fetchone тоже будет не число возвращать, а список, только не вложенный, а простой.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы