使用 MySql 建表出現的問題
-
在使用 Navicat Premium 運行 sql 語句進行建表時,MySQL 報錯以下:java
1064 - 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 ''id') )
建表語句: DROP DATABASE IF EXISTS javaweb; CREATE DATABASE javaweb DEFAULT CHARACTER SET utf8; USE javaweb; CREATE TABLE user( id int primary key auto_increment, name varchar(20) not null, gender varchar(5), age int, address varchar(32), qq varchar(20), email varchar(50), username varchar(32), password varchar(32) ); 出現錯誤提示 [ERR] 1064 - You have an error in your SQL syntax; check the manual.......
此問題是 MySql 語法上的錯誤,在 MySQL 中,爲了區分 MySQL 的關鍵字與普通字符,MySQL 引入了一個反引號。web
在上述的 sql 語句中,列名稱沒有使用反引號
或者列名稱使用單引號
,都會報這個錯誤出來。sql
反單引號位置:無論什麼輸入法,切換到英文狀態下,左上角Esc鍵下邊,Tab鍵上邊,數字1鍵左邊那個就能夠打出反引號,中文狀態下是一個小圓點。spa
DROP DATABASE IF EXISTS javaweb; CREATE DATABASE javaweb DEFAULT CHARACTER SET utf8; USE javaweb; CREATE TABLE user( `id` int primary key auto_increment, `name` varchar(20) not null, `gender` varchar(5), `age` int, `address` varchar(32), `qq` varchar(20), `email` varchar(50), `username` varchar(32), `password` varchar(32) );