在另一个数据库中使用表

Abe*_*llo 5 mysql alias

我被要求为Web应用程序构建一个模块,该模块也将用作独立的网站.既然如此,我想使用一个单独的数据库,并想知道是否有一种方法在一个数据库中有一个表,是另一个数据库中的"指针".

例如,我有数据库db1和db2

db1有表用户,所以我想让db2.users指向db1.users.

我知道我可以设置触发器和什么不同步两个单独的表但这听起来更酷:)

编辑

所以在我的代码中我使用的是sql等

select * from users
Run Code Online (Sandbox Code Playgroud)

现在,在数据库级别,我希望"用户"实际上是db1.users.然后,如果我想,我可以删除别名/指针,"select*from users"将指向当前数据库中的users表.我想我正在寻找的是一种"全局别名"类型的东西.

Emm*_*man 7

只是直接从另一个数据库使用它?

SELECT ... FROM `db1`.`users` LEFT JOIN `db2`.`something`
Run Code Online (Sandbox Code Playgroud)


tit*_*boa 4

联合存储引擎提供了与您要求的功能类似的功能。如果您的数据库位于同一数据库服务器上,那么联合存储引擎对我来说听起来有点大材小用。您可能想创建一个视图

如果 db1 不可用,这两种方法都没有用。正如 Emmerman 已经指出的那样,如果您想为 db1 不可用的情况做好准备,则需要将数据存储在 db2 中。