0

我有一种情况需要存储具有以下选项的“错误类型”

在此处输入图像描述

我想知道创建表“错误”的最佳方法是什么。

因此,如果选择了“起飞,详细信息和图例”,我将采用“ VARCHAR ”数据类型并存储诸如“1,3,4”(逗号分隔)之类的值并在进入视图时对其进行解析

或者

为数据类型为“ TINYINT ”的表中的每个字段设置单独的列,例如“IsTakeOff”、“IsSpecifications”、“Details”等。

请指教

谢谢

4

4 回答 4

0

除非您非常确信该数字不会增长,否则不要使用多个列。

否则使用多对多关联表 - 一个包含项目 id 和错误 id 的列

于 2013-01-08T05:33:23.607 回答
0

一种方法可能是将其作为 int 执行,然后在您的代码中执行类似 PHP 的操作,我不知道您正在使用的语言,但大多数语言都有一个开关,因此翻译成另一种语言应该不难语言。

$row // The row from the database.
switch ($row['Error_Type'])
{
    case ('0'):
        {
            // Do something.
            break;
        }
        ...
}
于 2013-01-08T05:43:14.960 回答
0

您可以在此处使用逗号分隔的列,即 varchar,因为您知道此处不会增长任何记录。这仅限于 5 个值。在搜索字段时,您可以使用 MySQL FIND_IN_SET,这对于这种情况非常有效。FIND_IN_SET 将采用两个参数。您的搜索关键字和逗号分隔的字符串。

于 2013-01-08T05:49:07.020 回答
0

如果 id 为 1 的用户选择 1,3 和 4,那么您可以使用以下

在此处输入图像描述

于 2013-01-08T05:51:07.087 回答