Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql sql在一个字段中创建多个键_Mysql_Sql - Fatal编程技术网

Mysql sql在一个字段中创建多个键

Mysql sql在一个字段中创建多个键,mysql,sql,Mysql,Sql,我想,这个问题的名称很奇怪,但我不知道如何正确地陈述,所以我将尝试描述这个问题。我们有两张桌子: (一) (二) 字段“谁拥有此规则”与第一个表的id相对应。 但如果一个单位的个人资料中有不止一条规则,我想不出该怎么办。例如,private应该有规则1和规则4。如何做到这一点?您需要的是一个联接表 连接规则和单元的第三个表 单位规则 id | unit_id | rule_id 1 | 1 | 1 2 | 1 | 4 3 | 2 | 1 您可以使用主键

我想,这个问题的名称很奇怪,但我不知道如何正确地陈述,所以我将尝试描述这个问题。我们有两张桌子:

(一)

(二)

字段“谁拥有此规则”与第一个表的id相对应。
但如果一个单位的个人资料中有不止一条规则,我想不出该怎么办。例如,private应该有规则1和规则4。如何做到这一点?

您需要的是一个联接表

连接规则和单元的第三个表

单位规则

id | unit_id | rule_id
1  |  1      | 1
2  |  1      | 4
3  |  2      | 1

您可以使用主键(id)或复合键(unit\u id和rule\u id)

最好将引用另一个表的列称为与该表名称相关的列,例如
unit\u id
,而不是
谁拥有此规则
。谢谢。如果两个(或多个)单元应该有相同的规则呢?那么联接表中还有另一行,例如,
id:3,unit\u id:1,rule\u id:4
id | rules | who_has_this_rule
1  | rule1 | 1
2  | rule2 | 2
3  | rule3 | 1
4  | rule4 | 1
id | unit_id | rule_id
1  |  1      | 1
2  |  1      | 4
3  |  2      | 1