我是数据库新手。
我的问题是我创建了一个表signUp
,其列为
id,名字,姓氏,电子邮件和国家/地区。
我想创建一个名为accout_recharge
的表,其列为(email,balance)
每当我在注册表中插入记录时,注册表中新添加的电子邮件也会出现在account_recharge表中,使用引用或外键或任何需要但没有重复的内容。
答案 0 :(得分: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 Foreign Key在这里您可以找到有关外键引用的更多详细信息
更新:我忘了告诉你外键引用始终是某种indexed
列。所以你需要在索引中打开电子邮件列。这就是你得到错误的原因:150