【发布时间】:2016-10-05 12:38:59
【问题描述】:
我是 mysql 新手,所以我使用 phpmyadmin 在数据库中创建表。我有枚举类型的字段制造商,可能值为“manufacturer1”、“manufacturer2”、...
我选择了 ENUM 类型并单击“编辑 ENUM/SET 值”,然后会弹出一个窗口询问所需的值。我按照说明进行操作,按“开始”,'Manufacturer1'、'Manufacturer2'、'Manufacturer3'、'Manufacturer4' 没有写在长度/值中。
当我尝试创建表时,出现 1064 语法错误。当我点击“预览 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;
为什么 phpmyadmin 写的是 ENUM(0) 而不是 ENUM('Manufacturer1','Manufacturer2','Manufacturer3','Manufacturer4')?
【问题讨论】:
-
尽量不要使用phpmyadmin ui来编辑数据。而是使用sql查询框。使用“UPDATE”查询来编辑/更新表中的字段,这将提供所需的结果。
-
您也可以使用
tinyint(1)i.p.o.enum如果你想按照自己的方式去做 -
在不同的浏览器中尝试您的 phpMyAdmin。有什么区别吗?
标签: phpmyadmin