MySql 建表出现的问题:[ERR] 1064 - You have an error in your SQL syntax; check the manual.......

时间:2022-06-26 15:47:01

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