我有一种情况需要存储具有以下选项的“错误类型”
我想知道创建表“错误”的最佳方法是什么。
因此,如果选择了“起飞,详细信息和图例”,我将采用“ VARCHAR ”数据类型并存储诸如“1,3,4”(逗号分隔)之类的值并在进入视图时对其进行解析
或者
为数据类型为“ TINYINT ”的表中的每个字段设置单独的列,例如“IsTakeOff”、“IsSpecifications”、“Details”等。
请指教
谢谢
我有一种情况需要存储具有以下选项的“错误类型”
我想知道创建表“错误”的最佳方法是什么。
因此,如果选择了“起飞,详细信息和图例”,我将采用“ VARCHAR ”数据类型并存储诸如“1,3,4”(逗号分隔)之类的值并在进入视图时对其进行解析
或者
为数据类型为“ TINYINT ”的表中的每个字段设置单独的列,例如“IsTakeOff”、“IsSpecifications”、“Details”等。
请指教
谢谢
除非您非常确信该数字不会增长,否则不要使用多个列。
否则使用多对多关联表 - 一个包含项目 id 和错误 id 的列
一种方法可能是将其作为 int 执行,然后在您的代码中执行类似 PHP 的操作,我不知道您正在使用的语言,但大多数语言都有一个开关,因此翻译成另一种语言应该不难语言。
$row // The row from the database.
switch ($row['Error_Type'])
{
case ('0'):
{
// Do something.
break;
}
...
}
您可以在此处使用逗号分隔的列,即 varchar,因为您知道此处不会增长任何记录。这仅限于 5 个值。在搜索字段时,您可以使用 MySQL FIND_IN_SET,这对于这种情况非常有效。FIND_IN_SET 将采用两个参数。您的搜索关键字和逗号分隔的字符串。
如果 id 为 1 的用户选择 1,3 和 4,那么您可以使用以下