我要将自己的 Enum 数据类型转换为 Integer ,并且还想将该垂直ID插入另一个表中的int值。
枚举键入 product_mst
measurement_unit: Enum('pair','piece') and Default value is 'pair'
当我将其转换为整数时,其id应该在另一个表中查找。
另一个表是 measurement_unit_mst
measurement_unit_id | unit_name |
5 pair
8 piece
当我将其转换为 integer 时,它应该是5对,也应该是8对。
通常,我不需要的“对”和“件”需要1和2。
我在下面三个对我有用的查询中应用了
ALTER TABLE `product_mst` CHANGE `measurement_unit` `measurement_unit` INT(11) NULL DEFAULT '0';
UPDATE product_mst set measurement_unit=5 where measurement_unit=1;
UPDATE product_mst set measurement_unit=8 where measurement_unit=2;
还有其他更好的选择吗?
谢谢。
答案 0 :(得分:0)
如果数据表是设计的中心部分,那么最好用表的相应数字来初始化枚举,这样就可以省略转换:
abstract class MeasurementUnit
{
const pair = 5;
const piece = 8;
// etc.
}
访问方式
$pair = MeasurementUnit::pair;