简体   繁体   English

如何使用 MySQL 从 db2 中的 db1 引用外键

[英]How can I reference a Foreign Key from db1 in db2 using MySQL

I have two MySQL databases: master and slave .我有两个 MySQL 数据库: masterslave The master db contains the memberid field. master数据库包含memberid字段。 How can I reference memberid in the slave db?如何在slave数据库中引用memberid This is what I've tried using the slave db with no success:这是我尝试使用slave数据库但没有成功:

DROP TABLE IF EXISTS `attend_date_temp`;
CREATE TABLE `attend_date_temp` (
`clientid` int(10) unsigned NOT NULL,
`groupid` int(10) unsigned NOT NULL,
`memberid` int(10) unsigned NOT NULL,
KEY `clientid` (`clientid`),
KEY `memberid` (`memberid`),
CONSTRAINT `attend_date_temp_ibfk_1` FOREIGN KEY (`clientid`) REFERENCES `clients` (`clientid`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `attend_date_temp_ibfk_2` FOREIGN KEY (`memberid`) REFERENCES `master.members` (`memberid`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8

When I view the memberid foreign key in that table, I get this message:当我查看该表中的memberid外键时,我收到以下消息:

Table 'slave.master.members' doesn't exist.

Can someone tell me what I'm doing wrong?有人能告诉我我做错了什么吗?This is the reference I used.这是我使用的参考。 Thanks.谢谢。

REFERENCES `master.members`

should be:应该:

REFERENCES `master`.`members`

Otherwise, it tries to find a table called master.members in the slave database.否则,它会尝试在slave数据库中查找名为master.members的表。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM