乐趣区

MySqlERR1064YouhaveanerrorinyourSQLsyntax

使用 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)
    );
退出移动版