【问题标题】:ERROR 1064 (42000): SQL syntax errorERROR 1064 (42000):SQL 语法错误
【发布时间】:2014-04-22 16:58:17
【问题描述】:

MYSQL 命令

我正在使用命令提示符

create table user
  <id int<11> unsigned auto_increment primary key not null,
   username jack<25> not null, 
   passwd jack<25> not null, 
   email jack<40> not null>;

错误

ERROR 1064 :您的 SQL 语法有错误;检查 对应于你的MYSQL服务器版本的手册 在第 1 行使用 near'table user' 的语法

如何解决这个问题?

【问题讨论】:

    标签: mysql cmd mysql-error-1064


    【解决方案1】:

    首先,您似乎使用的是尖括号而不是括号。其次,我不确定 jack 应该是什么,但它不是标准 SQL。

    我将从这个开始(尽管您也可以使用 varchar 而不是 char):

    create table user (
        id int(11) unsigned auto_increment primary key not null,
        username char(25) not null, 
        passwd char(25) not null, 
        email char(40) not null
    );
    

    【讨论】:

    • 谢谢我得到了新信息,我想我应该在用户名后面写用户名.....
    • @DuaaIsaa:不,你有的是DDL,数据定义语言。它所做的只是为数据创建结构。数据本身使用 DML 或数据操作语言完成,例如insertupdate
    【解决方案2】:
    1. 使用圆括号代替尖括号
    2. 使用有效的数据类型

    试试这个

       create table user(id int(11) unsigned auto_increment primary key not null,
       username varchar(25) not null, 
       passwd varchar(25) not null, 
       email varchar(40) not null);
    

    【讨论】:

      【解决方案3】:

      第一:()代替&lt;&gt;
      第二:varchar代替jack,jack的数据类型不正确

      所以查询应该是:

      create table user (  /* <-- note the brackets */
             id int(11) unsigned auto_increment primary key not null,
             username varchar(25) not null, /*incorrect data type "jack"*/
             passwd varchar(25) not null, /*use varchar instead of jack */
             email varchar(40) not null
      );
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-19
        • 1970-01-01
        • 2019-02-21
        • 1970-01-01
        • 1970-01-01
        • 2021-02-16
        相关资源
        最近更新 更多