Mangiare Senza Glutine disponibile su App Store

Per altre informazioni scrivi a fabriziocaldarelli@negusweb.it

Select Join in MySQL dopo la versione 5.0.12

Da Programmazione Software.
Versione del 11 gen 2010 alle 23:37 di Fabrizio Caldarelli (Discussione | contributi) (Creata pagina con 'Fate attenzione che dalla versione 5.0.12 in poi di MySQL, le JOIN hanno la precedenza sulle virgole. <br><br> Per cui se avete un codice del tipo (prima della versione 5.0.12): ...')

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

Fate attenzione che dalla versione 5.0.12 in poi di MySQL, le JOIN hanno la precedenza sulle virgole.

Per cui se avete un codice del tipo (prima della versione 5.0.12):

SELECT * FROM a,b,c JOIN d ON a.id=d.id_a


Questo viene interpretato dalla versione 5.0.12 in poi con

SELECT * FROM a,b,(c JOIN d ON a.id=d.id_a)


Per cui viene generato un errore #1054 del tipo "Unknown column" perchè la colonna a.id non esiste al momento della join.

Per evitare questo tipo di errori basta racchiudere tra parentesi la lista delle tabelle, in modo da dare maggiore priorità alla lista di tabelle rispetto alla join, cioè

SELECT * FROM (a,b,c) JOIN d ON a.id=d.id_a


E' tutto!