如何在mysql数据库中将父表中的引用传递给子表

时间:2012-10-07 06:11:43

标签: mysql

我是数据库新手。 我的问题是我创建了一个表signUp,其列为

  

id,名字,姓氏,电子邮件和国家/地区。

我想创建一个名为accout_recharge的表,其列为(email,balance) 每当我在注册表中插入记录时,注册表中新添加的电子邮件也会出现在account_recharge表中,使用引用或外键或任何需要但没有重复的内容。

1 个答案:

答案 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