2016-03-23 23 views
0

MySQL Workbenchでデータベースをリバースエンジニアリングしていますが、外部キーをインポートまたは認識していないようです。つまり、関係を描くことはできません。MySQL Workbenchの外部キーが機能しませんか?

私はこれを動作させようとしていますが、いくつかのテーブルのスニペットを使用していますので、何も複雑ではありません。ここで

私は仕事に取得しようとしています2つのデモテーブルです:

CREATE TABLE users (
    UserID varchar(32) NOT NULL, 
    OrgID varchar(6) NOT NULL, 
    RegionID int NULL, 
    LocationID int NULL, 
    Name nvarchar(60) NULL, 
    Crypt varchar(32) NULL, 
    Security int NULL, 
    Status int NULL, 
    PRIMARY KEY (UserID), 
    CONSTRAINT fk_OrgID_Users FOREIGN KEY (OrgID) REFERENCES Organisations(OrgID) 
); 


CREATE TABLE Organisations(
    OrgID varchar(6) NOT NULL, 
    Name nvarchar(70) NOT NULL, 
    Address1 varchar(50) NULL, 
    Address2 varchar(50) NULL, 
    Address3 varchar(50) NULL, 
    Town varchar(20) NULL, 
    County varchar(20) NULL, 
    PostCode varchar(10) NULL, 
    NotificationEmail varchar(500) NOT NULL, 
    PRIMARY KEY (OrgID) 
) 

が、MySQL Workbenchで、何の関係又は作成されている外部キーはありません。テーブルのデータと外部キーのタブを見ると、そこには何もありません。

私は外部キーを正しく作成していると思うので、それをインポートしない理由はありますか?

+0

これらの2つのテーブルはすでに作成されているか、作成しようとしています。 –

答えて

0

さらなる研究では、これを機能させるために必要ないくつかのことがありました。

MySQLからリバースエンジニアリングされたテーブルがInnoDBとして定義されていることを確認しなければなりませんでした。

そして、私もそうのように、テーブルを作成するコマンドからの外部キー制約を削除し、表が作成された後に外部キーを作成する必要がありました:

CREATE TABLE Users (
    UserID varchar(32) NOT NULL, 
    OrgID varchar(6) NOT NULL, 
    RegionID int NULL, 
    LocationID int NULL, 
    Name nvarchar(60) NULL, 
    Crypt varchar(32) NULL, 
    Security int NULL, 
    Status int NULL, 
    PRIMARY KEY (UserID) 
) ENGINE=InnoDB; 

CREATE TABLE Organisations(
    OrgID varchar(6) NOT NULL, 
    Name nvarchar(70) NOT NULL, 
    Address1 varchar(50) NULL, 
    Address2 varchar(50) NULL, 
    Address3 varchar(50) NULL, 
    Town varchar(20) NULL, 
    County varchar(20) NULL, 
    PostCode varchar(10) NULL, 
    NotificationEmail varchar(500) NOT NULL, 
    PRIMARY KEY (OrgID) 
) ENGINE=InnoDB; 

ALTER TABLE Users ADD CONSTRAINT fk_OrgID_Users FOREIGN KEY (OrgID) REFERENCES Organisations(OrgID); 

これは、その後うまく働いたと関係が見られたとMySQL Workbenchで接続

関連する問題