【今日推荐】:为什么一到面试就懵逼!>>> MySql 建表出现的问题 : [ERR] 1064 - You have an error in your SQL syntax; check the manual.......-LMLPHP

使用 MySql 建表出现的问题

  • 在使用 Navicat Premium 运行 sql 语句进行建表时,MySQL 报错如下:

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 引入了一个反引号。

在上述的 sql 语句中,列名称没有使用反引号或者列名称使用单引号,都会报这个错误出来。

反单引号位置:不管什么输入法,切换到英文状态下,左上角Esc键下边,Tab键上边,数字1键左边那个就可以打出反引号,中文状态下是一个小圆点。

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)
);
04-13 17:48