mysql - 这是从具有多个选择的下拉列表中存储选项的方法吗?

标签 mysql forms

详情

我有一个允许选择多个选项的下拉列表。 enter image description here

我想轻松快速地在数据库中搜索这些选项。 为此,我选择在数据库中为每个选项创建一个列,如下所示。

userid  | car |cdplayer|computer| 
*********************************
   785  |  1  |   0    |    1   |

每一列都使用 TinyInt(1)。如果选择该选项,我将存储值 1,否则我将存储 0。我使用此方法看到的问题是,如果有很多选项,表格可能会变得非常大。如果我将选项存储在单个列中,我认为在数据库中搜索列会更加困难,但数据库会小得多(尽管这可能根本无关紧要)。

问题

您认为我目前使用的方法有什么问题吗?有没有更好的方法来实现我想要做的事情?

最佳答案

这通常被认为是糟糕的数据库设计。这使得添加新选项变得困难,因为您必须更新数据库架构,并更改所有应用程序以了解这个新列。

更好的解决方案是包含列 option_idoption_name 的选项表。然后使用包含列 user_idoption_id 的引用表 user_options 来链接它们。

关于mysql - 这是从具有多个选择的下拉列表中存储选项的方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17871869/

相关文章:

php - 使用 mysql 结果从多维 PHP 数组构建树

mysql - SQL搜索类似,并按空格切割结果

javascript - Axios POST 表单数据为 JSON

javascript - 将 html 表单发送到 Django 项目中的电子邮件地址的最佳方式?

php - 在 php put 中使用 orderby 使其降序....如何?

mysql - 将 LEFT JOIN 与 GROUP BY 组合,同时还包括 NULL

django - Django 中的自定义登录

带有 jQ​​uery 提交的 Javascript 表单运行提交两次

JavaScript 输入类型编号限制为值 1 和 2

mysql - 如何有条件地选择每行的表和列?