Mysql 以下情况的表结构应该是什么

Mysql 以下情况的表结构应该是什么,mysql,Mysql,我有一种情况,我需要存储“错误类型”,它有以下选项 我想知道创建表“Error”的最佳方法是什么 因此,我要么选择一个“VARCHAR”数据类型并存储值,如“1,3,4”(逗号分隔),如果选择了“起飞、细节和图例”,并在进入视图时对其进行解析 或 为表中数据类型为“TINYINT”的每个字段单独设置一列,如“IsTakeOff”、“IsSpecifications”、“Details”等 请指教 谢谢除非您非常确信数字不会增长,否则不要使用多列 否则,使用一个多对多关联表,其中一个表包含项目i

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

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

因此,我要么选择一个“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,这对于这种情况非常有效。在_集中查找_需要两个参数。您的搜索关键字和逗号分隔的字符串。

如果id为1的用户选择1、3和4,则可以使用以下命令