使用 MySql 建表出現的問題
在使用 Navicat Premium 運行 sql 語句進行建表時,MySQL 報錯如下:
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 引入了一個反引號。
在上述的 sql 語句中,列名稱沒有使用反引號
或者列名稱使用單引號
,都會報這個錯誤出來。
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)
);