我有一张 table
`terms_of_payment` enum('0','1') NOT NULL DEFAULT '0' COMMENT ''
我跑
ALTER TABLE `customer`
CHANGE `terms_of_payment` `terms_of_payment` TINYINT( 1 )
NOT NULL DEFAULT 0 COMMENT '';
当我等待0时,我发现所有客户(值“0”)都设置为1
您能给我解释一下,麻烦是什么?
再见
最佳答案
将ENUM
转换为TINYINT
可能会产生意外的结果,因为MySQL实际上已经以整数形式存储了您的ENUM
。要获得所需的结果,您实际上应该首先将列转换为CHAR(1)
,然后转到TINYINT(1)
。
关于mysql - MySQL从枚举到tinyint问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7607763/