为什么phpmyadmin不为枚举类型创建值?

Kār*_*els 3 phpmyadmin

我是mysql的新手,所以我使用phpmyadmin在数据库中创建表。我有枚举类型的字段制造商,可能的值为“ manufacturer1”,“ manufacturer2”,...

我选择了ENUM类型,然后单击“编辑ENUM / SET值”,然后弹出一个窗口,询问所需的值。我没有说明,按“ go”,并且“ Length / Values”中没有写“ Manufacturer1”,“ Manufacturer2”,“ Manufacturer3”,“ Manufacturer4”。

当我尝试创建表时,出现1064语法错误。当我单击“ Preview SQL”时,我得到了:

CREATE TABLE `test4_db`.`product` ( `product_id` INT(11) NOT NULL AUTO_INCREMENT , `image_url` VARCHAR(255) NOT NULL , `manufacturer` ENUM(0) NOT NULL DEFAULT 'Manufacturer1' , `health` ENUM(0) NOT NULL , `missing` INT(11) NOT NULL , `statuss` ENUM(0) NOT NULL DEFAULT 'available' , `owner_id` INT(11) NOT NULL , `holder_id` INT(11) NOT NULL , PRIMARY KEY (`puzzle_id`)) ENGINE = InnoDB CHARSET=utf8 COLLATE utf8_bin;
Run Code Online (Sandbox Code Playgroud)

为什么phpmyadmin写ENUM(0)而不是ENUM('Manufacturer1','Manufacturer2','Manufacturer3','Manufacturer4')?

Nun*_*uno 6

这是phpMyAdmin 4.6.4的错误。

看到这个-https://github.com/phpmyadmin/phpmyadmin/issues/12480

这将在4.6.5中修复。

同时,您只需执行“ Preview SQL”,复制生成的SQL,然后将ENUM(0)替换为所需的值。

或者,使用早期版本的phpMyAdmin。