详情
我有一个允许选择多个选项的下拉列表。
我想轻松快速地在数据库中搜索这些选项。 为此,我选择在数据库中为每个选项创建一个列,如下所示。
userid | car |cdplayer|computer|
*********************************
785 | 1 | 0 | 1 |
每一列都使用 TinyInt(1)。如果选择该选项,我将存储值 1,否则我将存储 0。我使用此方法看到的问题是,如果有很多选项,表格可能会变得非常大。如果我将选项存储在单个列中,我认为在数据库中搜索列会更加困难,但数据库会小得多(尽管这可能根本无关紧要)。
问题
您认为我目前使用的方法有什么问题吗?有没有更好的方法来实现我想要做的事情?
最佳答案
这通常被认为是糟糕的数据库设计。这使得添加新选项变得困难,因为您必须更新数据库架构,并更改所有应用程序以了解这个新列。
更好的解决方案是包含列 option_id
和 option_name
的选项表。然后使用包含列 user_id
和 option_id
的引用表 user_options
来链接它们。
关于mysql - 这是从具有多个选择的下拉列表中存储选项的方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17871869/