在使用MySQL導入SQL文件時,可能會遇到錯誤1064,這種錯誤一般是由于BOM引起的。
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '???DROP TABLE IF EXISTS `example_table`' at line 1
BOM是Byte Order Mark的縮寫,它是在文件開頭加入的一些特殊字節,用來標識文本的編碼格式。
如果一個SQL文件保存時加入了BOM,那么在導入時就會出現上述錯誤。
解決這種問題的方法很簡單,只需將SQL文件保存時選擇“UTF-8 無BOM”選項,即可避免導入時出現1064錯誤。
DROP TABLE IF EXISTS `example_table`; CREATE TABLE `example_table` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(100) NOT NULL, `age` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
同時,如果在編輯SQL文件時發現已經存在BOM,也可以將其刪除,重新保存文件即可。
總之,遇到MySQL導入SQL文件時出現1064錯誤,首先要檢查文件是否存在BOM,如果存在,則需要重新保存文件或者手動刪除BOM,以此來避免錯誤的發生。