代码之家  ›  专栏  ›  技术社区  ›  techno

phpmyadmin在创建表时显示mysql错误?

  •  -1
  • techno  · 技术社区  · 11 年前

    我试图使用以下查询创建一个表。hpmyadmin不允许这样做。我做错了什么

    CREATE TABLE main (
    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY(id),
    dealername VARCHAR(32) NOT NULL,
    product VARCHAR(32) NOT NULL,
    type VARCHAR(16) NOT NULL,
    date VARCHAR(16) NOT NULL,
    desc VARCHAR(255) NOT NULL,
    location VARCHAR(32) NOT NULL,
    sublocation VARCHAR(32) NOT NULL,
    address VARCHAR(255) NOT NULL,
    phone1 VARCHAR(16) NOT NULL,
    phone2 VARCHAR(16) NOT NULL,
    auth VARCHAR(10) NOT NULL,
    brands VARCHAR(255) NOT NULL,
    lat VARCHAR(32) NOT NULL,
    lon VARCHAR(32) NOT NULL
    );
    

    错误: #1064-SQL语法中存在错误;查看与您的MySQL服务器版本相对应的手册,了解在第2行使用的正确语法:“(id),dealername VARCHAR(32)NOT NULL,product VARCHAR(32)NOTNULL,type VAR”

    2 回复  |  直到 11 年前
        1
  •  1
  •   Jens    11 年前

    您必须删除 (id)

    CREATE TABLE main (
    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    dealername VARCHAR(32) NOT NULL,
    product VARCHAR(32) NOT NULL,
    type VARCHAR(16) NOT NULL,
    date VARCHAR(16) NOT NULL,
    `desc` VARCHAR(255) NOT NULL,
    location VARCHAR(32) NOT NULL,
    sublocation VARCHAR(32) NOT NULL,
    address VARCHAR(255) NOT NULL,
    phone1 VARCHAR(16) NOT NULL,
    phone2 VARCHAR(16) NOT NULL,
    auth VARCHAR(10) NOT NULL,
    brands VARCHAR(255) NOT NULL,
    lat VARCHAR(32) NOT NULL,
    lon VARCHAR(32) NOT NULL
    );
    

    table create语句的语法错误。请参见 documentation . 后面的列的名称 Primary key 不应为。

    desc 是中的保留字 sql 所以您必须转义它,或者最好使用其他列名。

        2
  •  1
  •   dsharew    11 年前
    1. 去除 (id)

    2. 描述(desc) 是mysql关键字。

    把它放进去 倒勾 像这样,如果您仍然想使用desc作为列名。

     CREATE TABLE main (
        id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
        dealername VARCHAR(32) NOT NULL,
        product VARCHAR(32) NOT NULL,
        type VARCHAR(16) NOT NULL,
        date VARCHAR(16) NOT NULL,
        `desc` VARCHAR(255) NOT NULL,
        location VARCHAR(32) NOT NULL,
        sublocation VARCHAR(32) NOT NULL,
        address VARCHAR(255) NOT NULL,
        phone1 VARCHAR(16) NOT NULL,
        phone2 VARCHAR(16) NOT NULL,
        auth VARCHAR(10) NOT NULL,
        brands VARCHAR(255) NOT NULL,
        lat VARCHAR(32) NOT NULL,
        lon VARCHAR(32) NOT NULL
        );