mysql語法時采用了雙引號““的錯誤問題
mysql語法時采用了雙引號““錯誤
先展示一段sql代碼
DROP TABLE IF EXISTS `xxl_job_group`; CREATE TABLE "xxl_job_group" ( "id" int NOT NULL AUTO_INCREMENT, "app_name" varchar(64) NOT NULL COMMENT '執(zhí)行器AppName', "title" varchar(12) NOT NULL COMMENT '執(zhí)行器名稱', "address_type" tinyint NOT NULL DEFAULT '0' COMMENT '執(zhí)行器地址類型:0=自動注冊、1=手動錄入', "address_list" text COMMENT '執(zhí)行器地址列表,多地址逗號分隔', "update_time" datetime DEFAULT NULL, PRIMARY KEY ("id") );
運行mysql報錯,如下:
錯誤原因及解決
這段錯誤的原因是由于你在使用MySQL語法時采用了雙引號 "
來定義表名和列名,而這是 MySQL 中不被支持的方式。
MySQL 通常使用反引號 `
來引用表名和列名,雙引號通常用于字符串。
你目前的 SQL 語句更符合 PostgreSQL 或其他一些 SQL 數(shù)據(jù)庫的語法,但不適用于 MySQL。
具體來說,CREATE TABLE "xxl_job_group"
應該改為 CREATE TABLE \
xxl_job_group``,同樣對于所有的列名也應該使用反引號。
例如:
CREATE TABLE `xxl_job_group` ( `id` int NOT NULL AUTO_INCREMENT, `app_name` varchar(64) NOT NULL COMMENT '執(zhí)行器AppName', `title` varchar(12) NOT NULL COMMENT '執(zhí)行器名稱', `address_type` tinyint NOT NULL DEFAULT '0' COMMENT '執(zhí)行器地址類型:0=自動注冊、1=手動錄入', `address_list` text COMMENT '執(zhí)行器地址列表,多地址逗號分隔', `update_time` datetime DEFAULT NULL, PRIMARY KEY (`id`) );
這樣修改之后,SQL 應該可以正常運行。
錯誤信息 1064
是 MySQL 中非常常見的語法錯誤代碼,表示在指定的 SQL 語句附近檢測到語法問題。
在你的 SQL 中,問題出在使用了不正確的符號來標識表和列名。
總結
- MySQL 引號使用規(guī)則: 在 MySQL 中,應使用反引號
`
來引用表名和列名,避免與保留字沖突或包含特殊字符。 - 修改方案: 將所有表名和列名的雙引號改為反引號。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。