使用 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) );