是否可以在外键上自动生成插入

时间:2017-04-19 05:40:29

标签: mysql database

大家好,我对外键有疑问,比如当我从主表插入数据时可以自动插入外键,例如


Student_table

|Id  | Fname |LName|
|12 | John |Doe |

Quizes_table
ControlNum(auto_increment)|Quiz1|Quiz2|Quiz|Stud_id(fKey)
1 |0 |0 |0 |0 |12

我的简单解决方案就是在学生表上插入2个插入查询并输出表...但是使用这种方法我很难处理大量数据和一对多关系表..


所以我的主要问题是我可以在学生表上只进行一次插入查询,并且外键生成取决于您的插入,例如左

在学生表上插入id,例如id = 14 Fname =" myname",Lname =" mylastname"并且quizes表生成stud_id = 14并使rest字段为null或零,如果它不可能那么我没有别的选择,只能进行每个插入查询,但它对我实际真正的大数据(T_T)有点麻烦

2 个答案:

答案 0 :(得分:2)

当然,您可以为学生表创建一个触发器:

CREATE TRIGGER student_ins AFTER INSERT ON student 
  INSERT INTO quizes SET stud_id = NEW.id;

假设你的quizes表的其他列有默认的零值,或者让它们为NULL。

我不确定这是如何实现的,因为你无论如何都需要运行另一个UPDATE查询,以便稍后填充测验分数。

答案 1 :(得分:0)

如果从主表中插入new record到外键表

您需要使用trigger After Insert

,否则  您需要构造一个normal script以将记录插入外键表