【问题标题】:What is the best way to store a single value in a MySQL DB?在 MySQL 数据库中存储单个值的最佳方法是什么?
【发布时间】:2021-04-21 18:44:01
【问题描述】:

我想在 MySQL 数据库中存储一个只有一个值的列,并且该列与数据库中的任何其他表都不相关,所以我应该创建一个完整的表还是只存储一个值或者有更好的在 SQL DB 中存储单个键值对的方法。

例如需要存储和查询一个布尔变量isActive

【问题讨论】:

  • 如果是key-value,就是两个值。但总的来说是的,表是唯一的存储,所以使用它们。允许使用一列的表格。
  • 如果该表与其他任何东西都不相关,并且如果该表只包含一个值,那么您确定需要一个数据库吗?

标签: mysql sql


【解决方案1】:

这样做并不少见,但不要为每个单例值创建一个新表。为此目的制作一个包含两列的表,其中第一列标识值的名称,第二列是实际值。让值的数据类型为字符串。当您实际需要布尔值时,这是一个小缺点,但这样您的表会更加灵活。

例如:

create table params(
    paramName varchar(100) not null,
    paramValue varchar(100)
);

insert into params values ('isActive', '1');
commit;

另请参阅Variant data type in DB,其中涉及在同一列中存储不同数据类型的需要。共识是使用字符串数据类型,除非特定的数据类型真的很重要,在这种情况下,我建议为每种数据类型创建一个单独的“parameterXXX”表,因此所有布尔值都放在一个表中,所有日期都放在另一个表中,. ..等等

【讨论】:

    猜你喜欢
    • 2010-11-25
    • 2011-06-07
    • 2017-03-14
    • 2011-04-08
    • 2012-10-23
    • 2020-04-08
    • 2010-12-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多