我被要求为Web应用程序构建一个模块,该模块也将用作独立的网站.既然如此,我想使用一个单独的数据库,并想知道是否有一种方法在一个数据库中有一个表,是另一个数据库中的“指针”.
例如,我有数据库db1和db2
db1有表用户,所以我想让db2.users指向db1.users.
我知道我可以设置触发器和什么不同步两个单独的表但这听起来更酷:)
编辑
select * from users
现在,在数据库级别,我希望“用户”实际上是db1.users.然后,如果我想,我可以删除别名/指针,“select * from users”将指向当前数据库中的users表.我想我正在寻找的是一种“全局别名”类型的东西.
最佳答案
federated storage engine提供类似于您要求的功能.
如果您的数据库位于同一个数据库服务器上,那么联合存储对我来说听起来有点过分.你可能想要create a view.
如果您的数据库位于同一个数据库服务器上,那么联合存储对我来说听起来有点过分.你可能想要create a view.
如果db1不可用,则这两种方法都没有用.正如Emmerman已经指出的那样,如果要为db1不可用的情况做准备,则需要将数据存储在db2中.