php - 将枚举转换为 int 并从 MySQL 中的另一个表中插入该 int 值
问题描述
我正在将我的Enum数据类型转换为Integer,并且还想将该特定 id 插入另一个表中的 int 值。
product_mst中的枚举类型
measurement_unit: Enum('pair','piece') and Default value is 'pair'
当我将它转换为整数时,它的 id 应该在另一个表中查找。
另一个表是measure_unit_mst
measurement_unit_id | unit_name |
5 pair
8 piece
当我将它转换为整数时,它应该是 5 对和 8 块。
通常,我不想要的“pair”和“piece”需要 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;
还有其他更好的选择吗?
谢谢你。
解决方案
如果您的数据表是您设计的中心部分,那么最好用表的相应数字初始化枚举,这样您就可以省略转换:
abstract class MeasurementUnit
{
const pair = 5;
const piece = 8;
// etc.
}
访问喜欢
$pair = MeasurementUnit::pair;
推荐阅读
- android - Android 应用无法通过 WIFI 连接到本地服务器
- c - HAL_UART_Transmit 发送错误数据
- image - Win/ffmpeg - 如何从 ffmpeg 下的图像生成视频?
- c# - 如何使用 c# 添加和更新 PDF 文件的注释
- python - tf.nn.in_top_k 的输入维度
- google-cloud-sql - 无法通过 Dataproc 上的 SQL 代理连接到 Cloud SQL
- c++ - 使用参数的 constexpr 运算符重载问题
- firebase - Firebase - 动态链接限制
- python - 将插入光标保持在只读 Tkinter 条目上
- javascript - 检查列表是否已排序