Я недавно сменил серверы и, хотя я все еще использую MySQL, я не думаю, что это та же версия или настроена так же, как я привык.
НаиболееЯвный эффект влияет на мои запросы JOIN, по сути, некоторые запросы, использующие INNER JOIN, выдают неоднозначные ошибки столбцов, когда на моем последнем сервере я уверен, что код будет в порядке.
table1
t1_id int primary key
name text
map
t1_id int
t2_id int
table2
t2_id int primary key
name text
table1 имеет один ко многимотношения с таблицей2.Обычно, чтобы получить строку из таблицы table1 и всех ее записей в table2, я бы сделал что-то вроде этого:
SELECT * FROM table1
INNER JOIN map USING(t1_id)
INNER JOIN table2 USING(t2_id)
WHERE table1.t1_id=1;
Однако при этом каждый раз выдается неоднозначная ошибка столбца.Единственный способ обойти это - использовать
SELECT * FROM table1
INNER JOIN map ON(table1.t1_id=map.t1_id)
INNER JOIN table2 ON(map.t2_id=table2.t2_id)
WHERE table1.t1_id=1;
Не так много я могу рассказать вам о конфигурации сервера, кроме версии, 5.1.56-community-log, и я считаю, что она работает под управлением Linux (вероятно, Debian).
Это проблема с моими запросами или что-то связанное с версией MySQL, которую мы используем?