2016-10-09 1 views
1

私は2つのMySQLデータベースを持っています:masterslaveです。 master dbにはmemberidフィールドが含まれています。 slaveデータベースでmemberidを参照するにはどうすればよいですか?MySQLを使用しているdb2のdb1から外部キーを参照する方法

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 

私はそのテーブルのmemberid外部キーを表示すると、私はこのメッセージを得る:

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

誰かが教えてもらえますこれは私がいない成功を収めてslaveデシベルを使用してみたものです私が間違ってやっていること? This is the reference I used. ありがとうございます。

+0

これを参照してください - http://dev.mysql.com/doc/refman/5.7/en/innodb-foreign-key-constraints.html –

+0

@ AT-2016 - 私は何かが不足しているかもしれませんが、何の助けも見ません複数のデータベースにわたって「外部キー」を使用するためのものです。 – Landslyde

答えて

1
REFERENCES `master.members` 

は次のようになります。

REFERENCES `master`.`members` 

それ以外の場合は、slaveデータベースにmaster.membersと呼ばれるテーブルを見つけようとします。

+0

sstan:それが修正されました。私は昨晩もそれを試してみて、FKを 'alter 'と呼んで見ました。それでも私は' table' slave.master.members 'does not exist'を与えてくれました。しかし、今回はFKをクリックして正しく確認しました。私の足を正しい軌道に乗せてくれてありがとう...もう一度:-) – Landslyde

関連する問題