1

以下の 2 つのテーブルの作成に失敗しています。誰でも私を助けてもらえますか?

エラーは MySQL: テーブルを作成できません (errno: 150)

CREATE TABLE PSODEMO.APPLICATION (
    APPLICATION_ID INT NOT NULL AUTO_INCREMENT
    , APPLICATION_TYPE VARCHAR(10)
    , APPLICATION_STATUS VARCHAR(10)
    , CREATE_DATE DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL
    , MODIFIED_DATE DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL
    , DEALER_ID INT
    , COMPANY_NAME VARCHAR(120)
    , WEBSITE VARCHAR(128)
    , EMAIL VARCHAR(64)
    , PHONE VARCHAR(32)
    , STREET VARCHAR(124)
    , CITY VARCHAR(64)
    , ZIPCODE INT NOT NULL
    , COUNTRY VARCHAR(64)
    , DEALER_STATUS VARCHAR(32)
    , REMARKS VARCHAR(128)
    , INVOICE_ID INT
    , PAYMENT_MODE VARCHAR(64)
    , INVOICE_DATE DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL
    , PAYMENT_DATE DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL
    , PAYMENT_STATUS VARCHAR(64)
    , PRIMARY KEY (APPLICATION_ID)
    , KEY ix_APPLICATION_Applicationid(aplication_id)
    , KEY ix_APPLICATION_dealerid(dealer_id)
    );

CREATE TABLE LOGIN (
    LOGIN_ID INT NOT NULL AUTO_INCREMENT
    , USERNAME VARCHAR(10) NOT NULL
    , PASSWORD VARCHAR(10) NOT NULL
    , USER_TYPE VARCHAR(1) NOT NULL
    , APPLICATION_ID_FK INT
    , DEALER_ID_FK INT
    , PRIMARY KEY (LOGIN_ID)
    , FOREIGN KEY (APPLICATION_ID_FK) REFERENCES APPLICATION(APPLICATION_ID)
    , FOREIGN KEY (DEALER_ID_FK) REFERENCES DEALER(DEALER_ID)
    , UNIQUE (USERNAME)
    );
4

2 に答える 2

1

MySQLのドキュメントから:

削除されたテーブルを再作成する場合は、それを参照する外部キー制約に準拠する定義が必要です。前述のように、正しい列名と型が必要であり、参照されるキーにインデックスが必要です。これらが満たされていない場合、MySQL はエラー番号 1005 を返し、エラー メッセージでエラー 150 を参照します。

于 2012-09-17T09:26:42.443 に答える
0

Table2にはこの制約があります

FOREIGN KEY (DEALER_ID_FK) REFERENCES DEALER(DEALER_ID)

存在しDEALERない可能性があります。テーブルはテーブルの を参照し、テーブルの主キーでもあると想定したため、テーブルのDEALER前にテーブルを作成する必要があります。LOGINLOGINDEALER_IDDEALER

もう 1 つ、 MySQL 予約済みキーワードの前後にバッククォートを使用します

CREATE TABLE LOGIN (
LOGIN_ID INT NOT NULL AUTO_INCREMENT
, `USERNAME` VARCHAR(10) NOT NULL
, `PASSWORD` VARCHAR(10) NOT NULL
, USER_TYPE VARCHAR(1) NOT NULL
, APPLICATION_ID_FK INT
, DEALER_ID_FK INT
, PRIMARY KEY (LOGIN_ID)
, FOREIGN KEY (APPLICATION_ID_FK) REFERENCES APPLICATION(APPLICATION_ID)
, FOREIGN KEY (DEALER_ID_FK) REFERENCES DEALER(DEALER_ID)
, UNIQUE (USERNAME)
);
于 2012-09-17T09:31:59.927 に答える