2012-02-24 59 views
1

嘿家伙我在我的常规LAMP堆栈中创建了一个数据库列,似乎工作得很好,问题在于将此迁移到CPanel时,似乎我在枚举中的Default值恢复为“'或空白?CPanel/MySql ENUM将默认设置为''?

我用来创建此列的命令是

`status` ENUM('0','1','2') NOT NULL DEFAULT '0', 

但似乎这并没有真正发生..... 有没有在我的语法错误? CPanel的愚蠢?

这是怎么回事?

编辑

它看起来有事情做与提交空白值输入按钮 ?任何人都听说过这个?

+0

你使用phpMyAdmin来创建表?您是否将'CREATE TABLE'粘贴到'SQL'提示符中或使用create table功能? – drew010 2012-02-25 02:30:32

+0

从我创建的sql文件粘贴它 – ehime 2012-02-25 02:40:18

回答

0
MariaDB [test]> create table settest(attrib set('bold','italic','underline') DEF 
AULT 'bold',color enum('red','green','blue') DEFAULT 'blue'); 



MariaDB [test]> INSERT INTO settest VALUES('a','s'); 
Query OK, 1 row affected, 2 warnings (0.14 sec) 

MariaDB [test]> SHOW WARNINGS; 
+---------+------+---------------------------------------------+ 
| Level | Code | Message          | 
+---------+------+---------------------------------------------+ 
| Warning | 1265 | Data truncated for column 'attrib' at row 1 | 
| Warning | 1265 | Data truncated for column 'color' at row 1 | 
+---------+------+---------------------------------------------+ 
2 rows in set (0.00 sec) 

MariaDB [test]> SELECT * FROM settest; 
+--------+-------+ 
| attrib | color | 
+--------+-------+ 
|  |  | 
|  |  | 
+--------+-------+ 
+0

切换接受,谢谢你的回应。 – ehime 2016-02-11 16:57:45

0

貌似答案获得一个默认为NOT NULL DEFAULT 11.3. ENUM