CREATE TABLE tv_play (
name VARCHAR(40) NOT NULL,
country of origin VARCHAR(40) NOT NULL, -- 錯誤:含空格
production company VARCHAR(40) NOT NULL, -- 錯誤:含空格
genre VARCHAR(40) NOT NULL
);
報錯:You have an error in your SQL syntax near 'of origin VARCHAR(40) NOT NULL'。
MySQL 標識符(表名、字段名)**不能包含空格**,除非用**反引號 ` 包裹**。解析器將 country of origin 解析為三個關鍵字/標識符,導致語法錯誤。
CREATE TABLE tv_play (
name VARCHAR(40) NOT NULL,
`country of origin` VARCHAR(40) NOT NULL,
`production company` VARCHAR(40) NOT NULL,
genre VARCHAR(40) NOT NULL
);
country_of_origin、production_company,無需反引號,兼容性最好。`country of origin`,包括建表、查詢、索引、外鍵、ORM 映射。字段名含空格**必須加反引號**。強烈建議**採用下劃線命名規範**(snake_case),徹底避免此類語法錯誤,提升 SQL 可讀性與跨數據庫兼容性。