Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.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 如何在数据库和数据库之间建立关系?_Mysql_Sql_Relational Database - Fatal编程技术网

Mysql 如何在数据库和数据库之间建立关系?

Mysql 如何在数据库和数据库之间建立关系?,mysql,sql,relational-database,Mysql,Sql,Relational Database,我有一大堆邮政编码。每个邮政编码都有自己的数据库。每个数据库中的表仅与该特定邮政编码相关。我还有一个客户数据库。每个客户只能分配一个邮政编码。分配给邮政编码后,该客户可以访问该邮政编码的所有功能/表格 如果我把所有的邮政编码和客户都放在一个数据库中,我就可以使用外键/主键轻松地加入表。但我觉得将每个邮政编码单独作为自己的数据库更具组织性。我选择这种方式是因为每个邮政编码彼此完全不同 我是新手,一直在看教程,但我只看到表到表的解决方案。我想知道如何在数据库之间建立关系。回答您的问题:无法在不同数据

我有一大堆邮政编码。每个邮政编码都有自己的数据库。每个数据库中的表仅与该特定邮政编码相关。我还有一个客户数据库。每个客户只能分配一个邮政编码。分配给邮政编码后,该客户可以访问该邮政编码的所有功能/表格

如果我把所有的邮政编码和客户都放在一个数据库中,我就可以使用外键/主键轻松地加入表。但我觉得将每个邮政编码单独作为自己的数据库更具组织性。我选择这种方式是因为每个邮政编码彼此完全不同


我是新手,一直在看教程,但我只看到表到表的解决方案。我想知道如何在数据库之间建立关系。

回答您的问题:无法在不同数据库中的数据之间建立关系

你的设计没有使事情更有条理;相反,通过创建具有相似和相关数据的多个数据库,您将更加难以建立连接并以有效的方式处理数据

考虑将所有数据移动到一个数据库中,并将“邮政编码”字段添加到表中,以便您可以根据需要轻松地从每个邮政编码中选择数据

  • MySQL中的“数据库”只是一个模式
  • 您可以在架构之间查询,也可以在架构之间使用外键,只需使用完全限定名schema\u name.table\u name即可
  • 我看不出有什么好的理由让邮政编码在模式之间传播。它们都应该与“国家”列在同一个表中
    我会重新考虑你原来的设计。单独的数据库是指单独的数据库;这些数据之间没有关系。顺便说一句,客户在现实生活中通常有多个邮政编码。更好的是,将
    customer\u id
    添加到每个表中。谁说客户永远不会更改邮政编码?这可能也是个好主意。但是,在不了解更多问题的情况下,很难对数据库设计给出进一步的建议。“无法在不同数据库中建立数据之间的关系”:在MySQL中完全不正确。MySQL“数据库”只是模式,您可以跨它们进行查询,也可以在它们之间使用外键。