@vladimir_avshtolis

Есть ли ошибка в запросе mysql?

Почему phpMyAdmin говорит в этом запросе
SELECT *, cards.id AS id FROM cards WHERE 1
Error: #1060 Дублирующееся имя столбца 'id'
Но с желтым треугольничком, обычной ошибки при этом не показывает, выводит неверное число строк запроса.
При этом запрос выполняет, показывает результат

При выполнении запроса в коде php все нормально и проблем никаких не видно.

Я так понимаю, что * уже содержит поле id и второй раз назначать ему алиас некорректно. Насколько это критично и нужно ли переделывать все подобные запросы?

***
На самом деле там более сложный запрос
SELECT *, cards.id AS id FROM cards JOIN table2 ON cards.id=table2.cards_id WHERE ......
Но в table2 тоже есть поле id
То есть это нужно, чтобы $res['id'] был именно id из нужной таблицы
Просто в проекте много такого, проблем никогда не видел. А тут phpmyadmin с числом строк косячит...
  • Вопрос задан
  • 117 просмотров
Пригласить эксперта
Ответы на вопрос 1
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
По большому счету это не варнинг а ошибка. Так что переделайте

А то получится

(result['id'] != result['id']) == true
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы