【问题标题】:Mysql error syntax from code sql line command error来自代码sql行命令错误的Mysql错误语法
【发布时间】:2020-11-27 11:26:06
【问题描述】:
mysql> CREATE TABLE Poster (
->   id smallint(6) unsigned NOT NULL AUTO_INCREMENT,
->   titre VARCHAR(200) NOT NULL,
->   description text NOT NULL,
->   image_link text NOT NULL,
->   nb_commentaires int unsigned,
->   nb_likes int unsigned,
->   user_id smallint(6) DEFAULT NOT NULL,
->   date_cree timestamp,
->   PRIMARY KEY (id) NOT NULL,
-> ) ENGINE=InnoDB;

ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在“NOT NULL”附近使用的正确语法, date_cree 时间戳, 主键(id)不为空, ) ENGINE=InnoDB' 在第 8 行 mysql>

【问题讨论】:

    标签: mysql


    【解决方案1】:

    如果你定义了一个default 值,那么在允许NULL 之后再做

    user_id smallint(6) NOT NULL DEFAULT 0
    

    也改一下

    PRIMARY KEY (id) NOT NULL,
    

    到那个

    PRIMARY KEY (id)
    

    完整声明:

     CREATE TABLE Poster 
     (
        id smallint(6) unsigned NOT NULL AUTO_INCREMENT,
        titre VARCHAR(200) NOT NULL,
        description text NOT NULL,
        image_link text NOT NULL,
        nb_commentaires int unsigned,
        nb_likes int unsigned,
        user_id smallint(6) NOT NULL DEFAULT 0,
        date_cree timestamp,
        PRIMARY KEY (id) 
     ) ENGINE=InnoDB;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多