首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么phpmyadmin不为enum类型创建值?

为什么phpmyadmin不为enum类型创建值?
EN

Stack Overflow用户
提问于 2016-10-05 12:38:59
回答 2查看 3.2K关注 0票数 3

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

我选择了ENUM类型,点击"Edit ENUM/SET值“,然后弹出一个窗口询问所需的值。我松开指令,按"go“和‘制造商1’,‘制造商2’,‘制造商3’,'Manufacturer4‘没有写的长度/值。

当我试图创建表时,我会得到1064个语法错误。当我单击“预览SQL”时,我得到以下内容:

代码语言:javascript
运行
复制
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;

为什么phpmyadmin要写ENUM(0)而不是ENUM(“制造商1”、“制造商2”、“制造商3”、“Manufacturer4”)?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-05 18:37:41

这是一个带有phpMyAdmin 4.6.4的bug。

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

这将在4.6.5中得到修正。

同时,您可以简单地执行“预览SQL",复制生成的SQL,并将ENUM(0)替换为所需的值。

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

票数 7
EN

Stack Overflow用户

发布于 2016-10-05 13:04:02

使用此方法,但请记住编辑healthstatuss列的枚举。我刚才加了一个例子。

代码语言:javascript
运行
复制
CREATE TABLE `test4_db`.`puzzles` ( 
    `puzzle_id` INT(11) NOT NULL AUTO_INCREMENT ,
    `image_url` VARCHAR(255) NOT NULL ,
    `manufacturer` ENUM('Manufacturer1', 'Manufacturer2', 'Manufacturer3') NOT NULL DEFAULT 'Manufacturer1' ,
    `health` ENUM('y', 'n') NOT NULL ,
    `missing` INT(11) NOT NULL ,
    `statuss` ENUM('y', 'n') 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;

最好使用查询,而不是@Abhrapratim Nag中提到的UI。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39874215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档