MySQL错误号。 1064

时间:2016-05-21 08:06:29

标签: mysql mysql-error-1064

CREATE TABLE `smdonation`, `SM_USERLOGIN` {
    `SM_ID` INTEGER NOT NULL DEFAULT, 
    `SM_USERNAME` VARCHAR(15) NOT NULL DEFAULT '', 
    `SM_PASSWORD` VARCHAR(20) NOT NULL DEFAULT '', 
    `SM_NAME` VARCHAR (50) NOT NULL DEFAULT '', 
    `SM_AGE` INTEGER NOT NULL DEFAULT, 
    `SM_EMAI`L VARCHAR(50) NOT NULL DEFAULT '', 
    PRIMARY KEY(SM_ID) 
} ENGINE = InnoDB;

尝试创建上表时,出现以下错误:

  

MySQL错误号。 1064您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以获得使用近语法的正确语法;查看与MySQL服务器版本对应的手册,以便在“SM_USERNAME VARCHAR(15)NOT NULL DEFAULT”附近使用正确的语法,SM_PASSWORD VARCHAR(20)'第2行

最初我尝试使用失败的TYPE=InnoDB,因此在互联网上搜索并替换为ENGINE=InnoDB以创建表格,但错误仍然存​​在。

屏幕截图中的错误:

The error

1 个答案:

答案 0 :(得分:0)

代码中的3个问题:

  1. 您错过了整数
  2. 的默认值
  3. 表格创建不应该包含逗号,它应该是schemaname.tablename
  4. 表创建应包含括号(而不是{
  5. 所以你的工作代码是:

    CREATE TABLE `smdonation`.`SM_USERLOGIN` (
        `SM_ID` INTEGER NOT NULL DEFAULT 0, 
        `SM_USERNAME` VARCHAR(15) NOT NULL DEFAULT '', 
        `SM_PASSWORD` VARCHAR(20) NOT NULL DEFAULT '', 
        `SM_NAME` VARCHAR (50) NOT NULL DEFAULT '', 
        `SM_AGE` INTEGER NOT NULL DEFAULT 0, 
        `SM_EMAIL` VARCHAR(50) NOT NULL DEFAULT '', 
        PRIMARY KEY(SM_ID) 
    ) ENGINE = InnoDB;