insert - Mysql插入數據語法
問題描述
各位大神好,小弟今天在操作mysql插入數據時,碰到一個問題,百思不得其解,所以來SF請教一下各路大神。
表結構如下:
創建該表SQL語句如下:
CREATE TABLE `test_env` ( `id` int(11) NOT NULL AUTO_INCREMENT, `describe` varchar(11) NOT NULL, `detail` varchar(11) NOT NULL, `title` varchar(11) NOT NULL, `type` int(11) NOT NULL, `create_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
下面問題來了
我使用insert語句插入一條記錄,但是一直提示我語法錯誤
insert into test_env (describe, detail, title, type) values (’11’, ’22’, ’33’, 0);
提示
如果我使用下面的insert語句則沒有錯誤
insert into test_env (`describe`, `detail`, `title`, `type`) values (’11’, ’22’, ’33’, 0);
請問各位大神這是怎么回事,我之前在filed名上不加 ``符號也沒問題。
問題解答
回答1:因為describe是mysql保留的關鍵字,用來描述表結構的
回答2:應該是你的列名里有mysql的關鍵字describe,所以不加引號會報錯。
回答3:mysql命令describe
回答4:關鍵字了為防止這種情況發生,可以使用方法二
但是一般來講不要使用關鍵字作為field
相關文章:
1. docker 17.03 怎么配置 registry mirror ?2. docker 下面創建的IMAGE 他們的 ID 一樣?這個是怎么回事????3. mac連接阿里云docker集群,已經卡了2天了,求問?4. vue 子組件watch監聽不到prop的解決5. java - Web開發 - POI導出帶有下拉框的Excel和解決下拉中數組過多而產生的異常6. 上傳圖片老是失敗是什么原因?SAE_TMP_PATH.后面跟的路徑在哪看7. mobile-web-design - html5 touchmove 怎么獲取經過的元素?8. html5 - weex H5端的使用,怎么跑起來?9. javascript - [React Native]如何在Tabs內維護每一個ListView的滾動條?10. 為啥總顯示密碼錯誤
