私はデータベースに不慣れです。私の質問はsignUp
、列が次のようなテーブルを作成したことです。
ID、名、姓、メールアドレス、国。
accout_recharge
そして、その列がであるという名前のテーブルを作成したいと思います(email,balance)
。レコードをサインアップテーブルに挿入するたびに、サインアップテーブルに新しく追加された電子メールも、参照や外部キーなど、重複することなく必要なものを使用してaccount_rechargeテーブルに表示されます。
私はデータベースに不慣れです。私の質問はsignUp
、列が次のようなテーブルを作成したことです。
ID、名、姓、メールアドレス、国。
accout_recharge
そして、その列がであるという名前のテーブルを作成したいと思います(email,balance)
。レコードをサインアップテーブルに挿入するたびに、サインアップテーブルに新しく追加された電子メールも、参照や外部キーなど、重複することなく必要なものを使用してaccount_rechargeテーブルに表示されます。
あなたはこれを試すことができます
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