MySQL 'user_id' в том, где пункт является неоднозначной проблемой

Как я могу исправить проблему, которую я продолжаю получать из кода ниже который состояния 'user_id' in where clause is ambiguous. Спасибо за справку заранее.

Вот mysql таблица.

SELECT user.*, user_info.* 
FROM user 
INNER JOIN user_info ON user.user_id = user_info.user_id
WHERE user_id='$user_id'
16
задан OMG Ponies 13 July 2011 в 15:42
поделиться

2 ответа

Вам просто нужно указать, какой user_id использовать, поскольку в таблице user_info и user есть поле с именем user_id :

... WHERE user.user_id='$user_id'

SQL не потерпит такой двусмысленности, поскольку, насколько ему известно, оба поля могут представлять совершенно разные данные.

37
ответ дан 30 November 2019 в 16:41
поделиться

Решение состоит в том, чтобы везде явно выбирать каждый столбец. Не используйте user. * И user_info. * В вашем списке выбора:

SELECT u.user_id, u.user_fudge, ui.foo, ui.bar
FROM user u
INNER JOIN user_info ui
    ON ui.user_id = u.user_id
WHERE u.user_id = '$user_id';
0
ответ дан 30 November 2019 в 16:41
поделиться
Другие вопросы по тегам:

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