-2

私はデータベースに不慣れです。私の質問はsignUp、列が次のようなテーブルを作成したことです。

ID、名、姓、メールアドレス、国。

accout_rechargeそして、その列がであるという名前のテーブルを作成したいと思います(email,balance) 。レコードをサインアップテーブルに挿入するたびに、サインアップテーブルに新しく追加された電子メールも、参照や外部キーなど、重複することなく必要なものを使用してaccount_rechargeテーブルに表示されます。

4

1 に答える 1

1

あなたはこれを試すことができます

CREATE TABLE signup (
     id INT NOT NULL,
     firstName varchar(50),
     lastName varchar(50),
     countryName varchar(50),
     emailName varchar(50),
     PRIMARY KEY (id),
     index email_ind(emailName)    -- updated here 
) ENGINE=INNODB;


CREATE TABLE accout_recharge(  
    id INT,
    balance DECIMAL,
    email varchar(50),    
    FOREIGN KEY (email ) REFERENCES signup (emailName)
                      ON DELETE CASCADE
) ENGINE=INNODB;

MySql外部キーここでは、外部キーの参照に関する詳細を確認できます

更新:外部キー参照は常にある種のindexed列であることをお伝えするのを忘れています。したがって、インデックスの電子メール列をめくる必要があります。エラーが発生する理由:150

于 2012-10-07T06:35:45.717 に答える