我有一张 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/

10-11 05:15