MySQL双向关系

时间:2012-05-24 09:47:53

标签: mysql triggers foreign-key-relationship

好的,这就是我面临的问题我完全可以完成模式的重新设计,但我认为我基本上是在正确的轨道上。

表1 - 讲师

- ID - (Auto increment int)
 - Name
 - employee ID
 - ADDITIONAL COLUMNS NOT IMPORTANT TO THIS QUESTION
 - account_id --> FK relation to (Accounts)

表2 - 学生

- ID - (Auto increment int)
 - Name
 - student ID
 - ADDITIONAL COLUMNS NOT IMPORTANT TO THIS QUESTION
 - account_id --> FK relation to (Accounts)

表3 - 帐户

- ID - (Auto increment int)
 - USERNAME
 - PASSWORD
 - TYPE (Instructor OR Student)
 - person_id --> FK relation to (Students(ID)) & (Instructors(ID))

所以我的逻辑目前如何流动就像这样

  1. 插入一个人(学生或教师)
  2. TRIGGER根据其姓名
  3. 创建一个帐户
  4. TRIGGER使用account_id
  5. 更新学生或教师记录

    问题出现是因为mysql不允许递归触发器,因为这可能是非常糟糕的AKA插入到table1然后触发table2插入到table1中。

    但是我不明白为什么我通过触发器更新表一会有问题,因为没有触发器在收到更新时等待做某事。

    我希望系统像这样运行的原因是因为教师和学生都会有一个中央登录,而且我知道我可以只对每个表执行两次mysql调用,我希望能够做到这一点一个到帐户表。

    我需要从人员表(教师/学生)到帐户表的关系的原因是当我删除教师或学生时,同时删除与其一起使用的帐户。

    提前致谢!

0 个答案:

没有答案