Quando provo a fare funzionare una routine ottengo il seguente errore:MySQL Codice di errore 1166. corretto nome della colonna
Error Code: 1166. Incorrect column name 'School.`School Name` = case when School.`Web School Name` is null then School.`School Name` els'
ho ricontrollato il nome della colonna e non v'è infatti un School.School Name
. Non ci sono spazi iniziali o finali. Ecco l'inizio della routine che l'errore si riferisce a:
CREATE temporary TABLE tt_Step1
SELECT DISTINCT State.Code, State.Name,
School.`School Name` = case
when School.`Web School Name` is null then School.`School Name`
else School.`Web School Name`
end,
School.`School ID`
-- Into tt_Step1
FROM State LEFT JOIN School ON State.Code = School.State
Where (School.`School ID` <> ...
Recentemente ho convertito questo codice da MSSQL a MySQL quindi ci può essere qualcosa mi mancava, ma non riesco a trovare eventuali errori. La query MSSQL originale funziona correttamente in SQL Server Management Studio ma la versione convertita di esso in MySQL non lo è.
Nome colonna con spazio non può accadere in MySQL: http://dev.mysql.com/doc/refman/5.0/en/identifiers.html –
@ DavidBélanger: Non è assolutamente vero. L'unica cosa che dice il documento collegato è "non può ** terminare ** con caratteri spaziali". – mellamokb
Perché non votare questo? Questa è una domanda SO perfettamente valida. –