Khi tôi cố gắng chạy một thói quen tôi nhận được lỗi sau:Lỗi MySQL Mã 1166. Tên cột không chính xác
Error Code: 1166. Incorrect column name 'School.`School Name` = case when School.`Web School Name` is null then School.`School Name` els'
Tôi đã hai lần kiểm tra tên cột và có trong thực tế, một School.School Name
. Không có không gian đầu hoặc cuối. Đây là sự bắt đầu của thói quen mà lỗi đề cập đến:
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` <> ...
Gần đây tôi đã chuyển mã này từ MSSQL sang MySQL để có thể có điều gì đó mà tôi bỏ sót nhưng tôi không thể tìm thấy lỗi nào. Truy vấn MSSQL gốc chạy tốt trong SQL Server Management Studio nhưng phiên bản được chuyển đổi của nó trong MySQL thì không.
Tên cột có không gian không thể xảy ra trong MySQL: http://dev.mysql.com/doc/refman/5.0/en/identifiers.html –
@ DavidBélanger: Điều đó hoàn toàn không đúng sự thật. Điều duy nhất mà tài liệu được liên kết nói là 'không thể ** kết thúc ** với ký tự khoảng trắng'. – mellamokb
Tại sao bỏ phiếu này? Đây là một câu hỏi SO hoàn hảo. –