我有一个属性为studentID(PK),名称,地址和allotment_status(值可以为零或一)的表A,而表B具有roomid(PK),studentID(FK)和roomno,现在我希望每当allotment_status的值为如果更新为1,则在表B中插入新行;如果表B中存在该行,则将其设置为零,则将其删除。

最佳答案

使用更新/插入/删除事件在tableA上创建触发器的一种方法。这是纯数据库解决方案。设计的好坏取决于您的业务需求。因此,在做出决定之前,应将其彻底权衡。另一种解决方案可能是在您的PHP应用程序层中进行编码,但是我对此方面的经验较少,因此希望避免回答代码级详细信息。

  CREATE TRIGGER on_tablea_updateb after/before INSERT/update ON tableA FOR EACH ROW  // your business logic goes here condition....; END IF;//

09-26 13:38