mysql - 在 MySQL 中将值类型存储为数据库列
问题描述
我需要的是,我认为,很常见。我想global_variables
使用 MySQL 创建一个表来存储我在整个 Web 应用程序中需要的一些变量。问题是每个变量都有多种类型之一(int、float、string、BLOB 等)。所以我需要能够创建我的表,其中包含 , , 等列id
,program_name
其中value_type
将value
是value
一个字符串,我将在获取/设置值时进行相应的转换。所以一些示例记录将是:
[
['program_name' => 'invoice_number', 'value_type' => 'int', 'value' => '12345'],
['program_name' => 'last_merge', 'value_type' => 'date', 'value' => '10.06.2020'],//etc.
]
让我停下来的是Type
MySQL 中缺少列类型。非常感谢您对任何建议的任何帮助!
PS 我正在使用带有 Laravel 5.8 的 MySQL MariaDB。
解决方案
只需将它们存储为字符串。
在日期上下文中,字符串将自动转换。
在数字上下文中,字符串将自动转换。
在布尔上下文中,数字 0 为假,其他为真。
如果你有反例,让我们看看。可能有一个简单的解决方法。
推荐阅读
- django - 如何删除 django 中所有不匹配的查询结果?
- python - 在 [ ] 获取和设置时使用 Pandas 的行为不一致
- android - 如何将数据从 DataSnapshot 插入 LiveData
- >?
- javascript - Jest-Native “语法错误:无法在模块外使用导入语句”
- macos - 在 macOS 上打印与 dtrace 连接的 IP/端口
- python - networkx graph:删除节点后绘制网络图
- javascript - 使用联系表单 7 [Wordpress] 提交表单后触发 Elementor 的弹出窗口(提交后的事件)
- python-3.x - 在 SQLAlchemy 中引用同一表列的多个外键
- object - 即使我刚刚定义它也找不到对象
- python - 使用 for 循环修改变量列表