使用 Navicat 等工具修改表結構時,報錯:
MySQL 返回: #1166 – Incorrect column name 'xxx'
伴隨建表 SQL 執行失敗,錯誤提示指向具體字段名。
字段名包含不可見空格或特殊字符。MySQL 允許反引號包裹的標識符包含空格,但某些客戶端工具或 SQL 解析階段會誤判,導致「Incorrect column name」。
-- 錯誤示例
`time` INT(11) NOT NULL COMMENT '產品id',
`bid ` INT(11) NOT NULL COMMENT '渠道商id' -- bid 後有空格
ALTER TABLE tbl CHANGE `old name` `newname` TYPE;channel_id)-- 修正後重新執行建表
CREATE TABLE `gfan_content`.`channel_into` (
`time` INT(11) NOT NULL COMMENT '產品id',
`bid` INT(11) NOT NULL COMMENT '渠道商id'
) ENGINE=MYISAM CHARSET=utf8 COLLATE=utf8_general_ci;
執行成功即解決。若仍報錯,檢查其他字段或表名是否同樣問題。