gpt4 book ai didi

MySQL 同一数据库中多个同名表

转载 作者:行者123 更新时间:2023-11-29 10:50:53 25 4
gpt4 key购买 nike

我有一个数据库和一组表。场景是,两个不同的部门使用完全相同的表结构和服务器代码/前端,但部门的数据完全不同。

最好的办法是拥有两个不同的数据库,具有精确的结构和不同的数据。

但是,如果我尝试仅在 1 个数据库中实现这一点,可能吗?我无法更改表名称,因为这需要更改查询表的整个代码。有没有办法在单个数据库中创建子文件夹/目录?

我搜了一下,应该没有。但也许有人可以建议一种解决方法?

最佳答案

了解Identifier Qualifiers 。仅当它们位于不同的数据库中并且使用数据库名称作为限定符时,才可以拥有相同名称的表。

SELECT * FROM db1.sametablename;
SELECT * FROM db2.sametablename;

您可以在同一查询中连接跨数据库的表:

SELECT * FROM db1.sametablename JOIN db2.sametablename;

您甚至可以跨数据库声明外键约束:

ALTER TABLE db1.sametablename ADD FOREIGN KEY (col1) 
REFERENCES db2.sametablename (col1);

数据库基本上是表和其他对象的命名空间。

关于MySQL 同一数据库中多个同名表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43748596/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com