SELECT `Kid` FROM keyword_data k where Pid=id;
DELETE FROM `data_keyword` WHERE `Kid` = KidKid   Pid
1936, 2019
1937, 2019
1938, 2019
在存储过程中select得到一个结果集,再使用这个结果集对另一个表做删除

解决方案 »

  1.   

    触发器只是在 insert / update / delete 时才会有用,SELECT的时候是不会被触发的。不过你的功能一句简单的SQL语句就可以了。delete a from data_keyword a,keyword_data b where a.Kid=b.Kid and b.Pid=id;
      

  2.   

    谢谢,可以实现
    不过我刚才在用触发器时碰到这个
    This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table'
      

  3.   

    你的这个表上已经有一个相同的触发器了。SHOW TRIGGERS ;看一下就知道了。
      

  4.   

    问题解决:
    方法1:
    delete a from data_keyword a,keyword_data b where a.Kid=b.Kid and b.Pid=id;
    DELETE FROM `keyword_data` WHERE `Pid` = id;
    方法2:创建触发器
    DELETE FROM `keyword_data` WHERE `Pid` = id;DELIMITER | CREATE TRIGGER delkeyword BEFORE DELETE ON keyword_data  FOR EACH ROW BEGIN    DELETE FROM data_keyword WHERE Kid = OLD.Kid;  END|DELIMITER ;