Устранение неоднозначности в предложении WHERE 'user_id' MySQL
При работе с несколькими таблицами, которые имеют одно и то же имя столбца, MySQL может столкнуться с двусмысленностью при использовании этот столбец в предложении WHERE. Это видно из сообщения об ошибке user_id, где предложение является неоднозначным.
Рассмотрим пример запроса:
SELECT user.*, user_info.* FROM user INNER JOIN user_info ON user.user_id = user_info.user_id WHERE user_id=1
В этом запросе обе таблицы «user» и «user_info» имеют столбец «user_id». Однако MySQL не может определить, какой столбец 'user_id' использовать в предложении WHERE.
Разрешение неоднозначности
Чтобы разрешить неоднозначность, мы должны указать, какой 'user_id' столбец для использования. Этого можно добиться, добавив имя таблицы в качестве префикса к имени столбца, как показано ниже:
... WHERE user.user_id=1
Указав 'user.user_id', мы явно заявляем, что хотим использовать столбец «user_id» из таблицы «user» в предложении WHERE.
Это уточнение устраняет двусмысленность и позволяет MySQL выполнять запрос, не встречая «user_id» в месте, где пункт является неоднозначной ошибкой. Не забывайте всегда указывать префикс таблицы при ссылке на неоднозначные имена столбцов в предложении WHERE, чтобы избежать этой и подобных проблем в будущем.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3