为什么我在MySQL数据库中创建表时总会发生这个错误?

时间:2016-04-07 12:18:40

标签: mysql

CREATE TABLE zgd_users_table (
user_id INT NOT NULL AUTO_INCREMENT,
user_name VARCHAR(50) NOT NULL,
user_mobile VARCHAR(20) NOT NULL,
password VARCHAR(50) NOT NULL,
email VARCHAR(100),
nickname VARCHAR(50) NOT NULL DEFAULT "Default Name",
level TINYINT NOT NULL DEFAULT 3,
locked TINYINT(1) NOT NULL DEFAULT false,
create_time TIMESTAMP NOT NULL,
comment VARCHAR(255),
PRIMARY KEY(user_id);

错误1064(42000):您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册,以获得在''附近使用的正确语法。在第13行

4 个答案:

答案 0 :(得分:3)

您忘了用)关闭命令!将您的查询更改为以下内容:

CREATE TABLE zgd_users_table (
    user_id INT NOT NULL AUTO_INCREMENT,
    user_name VARCHAR(50) NOT NULL,
    user_mobile VARCHAR(20) NOT NULL,
    password VARCHAR(50) NOT NULL,
    email VARCHAR(100),
    nickname VARCHAR(50) NOT NULL DEFAULT 'Default Name',
    level TINYINT NOT NULL DEFAULT 3,
    locked TINYINT(1) NOT NULL DEFAULT false,
    create_time TIMESTAMP NOT NULL,
    comment VARCHAR(255),
    PRIMARY KEY(user_id)
);

关于"上的DEFAULT的其他评论:

  

单引号用于指示SQL中字符串的开头和结尾。双引号通常不在SQL中使用,但可能因数据库而异   来源(请参见评论): https://stackoverflow.com/a/1992331/3840840

答案 1 :(得分:1)

你最后错过了一个结束括号。

答案 2 :(得分:1)

缺少)结束括号。工作查询是:

CREATE TABLE zgd_users_table (
user_id INT NOT NULL AUTO_INCREMENT,
user_name VARCHAR(50) NOT NULL,
user_mobile VARCHAR(20) NOT NULL,
password VARCHAR(50) NOT NULL,
email VARCHAR(100),
nickname VARCHAR(50) NOT NULL DEFAULT "Default Name",
level TINYINT NOT NULL DEFAULT 3,
locked TINYINT(1) NOT NULL DEFAULT false,
create_time TIMESTAMP NOT NULL,
comment VARCHAR(255),
PRIMARY KEY(user_id));

答案 3 :(得分:0)

语法错误 你错过了最后的结束括号 做到这一点

 CREATE TABLE zgd_users_table (
     user_id INT NOT NULL AUTO_INCREMENT,
 user_name VARCHAR(50) NOT NULL,
 user_mobile VARCHAR(20) NOT NULL,
   password VARCHAR(50) NOT NULL,
email VARCHAR(100),
nickname VARCHAR(50) NOT NULL DEFAULT "Default Name",
level TINYINT NOT NULL DEFAULT 3,
 locked TINYINT(1) NOT NULL DEFAULT false,
 create_time TIMESTAMP NOT NULL,
comment VARCHAR(255),
PRIMARY KEY(user_id));