我有一张
的桌子`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
你能解释一下,有什么问题吗?
再见
答案 0 :(得分:10)
将ENUM
转换为TINYINT
可能会产生意外结果,因为MySQL实际上已经以整数的形式存储了ENUM
。要获得所需的结果,您实际上应首先将列转换为CHAR(1)
,然后转到TINYINT(1)
。