不能在新表

时间:2016-10-26 09:24:19

标签: mysql sql

使用mysql版本5.7.14,apache版本2.4.23和php版本7.0.10更新了我的WAMP服务器。不确定php版本是否合适,但如果你需要的话,它就在那里。

更新后我无法创建一个或多个列使用ENUM的新表,在搜索完之后,我找到了一个使用了ENUM之外的东西的线程。但由于它到目前为止一直运作良好,我没有看到它的问题(?)。更新后,我收到此错误:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '0) NOT NULL ,
`rank` ENUM(0) NOT NULL ,
`avatar` VARCHAR(255) NOT NULL ,
`' at line 13

删除ENUM列时有效,但我需要它们。继承人SQL:

CREATE TABLE `az2983`.`users` ( 
    `id` INT(11) NOT NULL AUTO_INCREMENT ,
    `username` VARCHAR(255) NOT NULL ,
    `email` VARCHAR(255) NOT NULL ,
    `firstname` VARCHAR(255) NOT NULL ,
    `lastname` VARCHAR(255) NOT NULL ,
    `question` VARCHAR(255) NOT NULL ,
    `answer` VARCHAR(255) NOT NULL ,
    `ip` INT(25) NOT NULL ,
    `active_ip` INT(25) NOT NULL ,
    `level` INT(11) NOT NULL ,
    `exp` INT(11) NOT NULL ,
    `title` ENUM(0) NOT NULL ,
    `rank` ENUM(0) NOT NULL ,
    `avatar` VARCHAR(255) NOT NULL ,
    `bio` VARCHAR(1800) NOT NULL ,
    `banner` VARCHAR(255) NOT NULL ,
    `f_post` INT(11) NOT NULL ,
    `f_threads` INT(11) NOT NULL ,
    `post` INT(11) NOT NULL ,
    `profile_visible` ENUM(0) NOT NULL ,
    `link` VARCHAR(255) NOT NULL ,
    `born_date` DATE NOT NULL ,
    `active` ENUM(0) NOT NULL ,
    `timestamp` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
    `banned` ENUM(0) NOT NULL ,
    `founder` ENUM(0) NOT NULL ,
    `awards` INT(11) NOT NULL ,
    `friends` INT(11) NOT NULL ,
PRIMARY KEY (`id`)) ENGINE = MyISAM;

1 个答案:

答案 0 :(得分:0)

您使用ENUM个错误。你不能放入0,因为那不是ENUM,它是一个整数。

像这样使用:

ENUM('x-small', 'small', 'medium', 'large', 'x-large')

请参阅http://dev.mysql.com/doc/refman/5.7/en/enum.html