我想知道如何在数据库中显示多个值,例如,假设您有一个用户将填写一个表格,要求他们输入喜欢的食物类型,例如饼干,糖果,苹果,面包等。上。

如何将其存储在MySQL数据库中名为food的同一字段下?

野外食物结构会如何?

最佳答案

您可能需要阅读the excellent Wikipedia article on database normalization

您不想在单个字段中存储多个值。您想做这样的事情:

form_responses
    id
    [whatever other fields your form has]

foods_liked
    form_response_id
    food_name


其中form_responses是包含单数(例如一个人的名字或地址,或没有多个值的东西)的表。 foods_liked.form_response_id是对form_responses表的引用,因此,对于form_response_idfoods_liked字段,响应值为6的人喜欢的食物的值将为6。在该表中,该人喜欢的每种食物都会有一行。

编辑:其他人建议使用三表结构,如果您将用户限制为从预定义列表中选择食物,那肯定会更好。如果您允许他们输入自己的食物,那么三张桌子的结构可能会更好,但是如果您按照这种方式行事,则需要注意将输入标准化(修剪空白,固定大写字母等)。 ),这样就不会在该表中出现重复的条目。

关于sql - 如何在MySQL数据库中显示多个值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1592327/

10-10 07:50