我正在尝试创建一个数据库,其中有 'n' 个来自 html 的输入,并且根据该数字,条目应进入表列。例如,如果用户选择选项'4'成人与一个 child 一起参加聚会。表中的条目将如下所示
id : 1 | guestid:abc | adult:4 | child:1 |first name : xyz | lastname:xyz | contact: 123 | email: abc@gmail.com |
这里的问题是,虽然我需要保存每个客人数量的详细信息,在本例中为 4,但我认为最明显的方法是在每行中保留递增的成人,其值为 1 但这会导致表中出现大量冗余数据并且很难维护。例如它看起来像这样
id : 1 | guestid:abc | adult:1 | child:1 |first name : xyz | lastname:xyz | contact: 123 | email: abc@gmail.com |
id : 2 | guestid:abc | adult:2 | child:1 |first name : zxy | lastname:zxy | contact: 123 | email: abc@gmail.com |
id : 3| guestid:abc | adult:3 | child:1 |first name : lol | lastname:lol | contact: 123 | email: abc@gmail.com |
事实并非如此,它可以是任何可能的数字4,2 5,1等。设计查询来解决此问题的最佳方法是什么
最佳答案
你想要一个master-detail relationship 。其中公共(public)列/值位于主表中,非重复列/值位于明细表中。
在 Master 中:id、guestid、child、联系人、电子邮件,
详细信息:ID、名字、姓氏
另请查看 normalization 。
关于mysql - MYSQL中如何根据一定的数字创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45644750/