我可以在数据库中有多种选择吗?

时间:2018-12-14 12:26:44

标签: database

所以我需要存储一个选择多项的对或错的陈述。 这是我需要的一个例子:

一个特定的人可能有多个设备:

人1拥有一台笔记本电脑,没有ipad和电话

Person 2拥有ipad和一部手机,没有笔记本电脑

第3个人拥有全部3

这在phpmyadmin中是否可行,我需要什么类型的值?

2 个答案:

答案 0 :(得分:1)

此解决方案使用三列,每列用于您想要的设备。

因此您可以拥有ipad phone laptop列。

将列设置为具有默认表达式false,以便每个用户(唯一记录)都可以执行插入查询并将数据放入。

例如,对人1的查询为:

INSERT INTO my_table(phone) VALUES(true)

人员2:

INSERT INTO my_table(ipad, phone) VALUES(true,true)

人员3:

INSERT INTO my_table(ipad, phone, laptop) VALUES(true,true,true)

这只是您如何解决这些问题的示例。

永远不要将一个单元格与多个值混合使用。保持始终分开。

答案 1 :(得分:1)

我可以考虑两种解决方案,具体取决于您可以拥有多少种设备。

如果在您的情况下,用户只能使用笔记本电脑,平板电脑或电话,则只需使用3个布尔值列并将其设置为true / false。

如果可以有许多没有固定编号的设备,则可以创建一个名为user_devices的表,并与users表建立一对多的关系。 这样,如果userA有3个设备,则user_devices表中将有3行连接到userA

devices表的示例架构可以是:

id            primary key
device_name   String
owner         integer (linking to the userID that the device belongs to)