我处于这种情况:我有两个表,其中一个是包含歌曲列表的表,另一个是包含艺术家列表的表。 歌曲表的每一行都包含对一位艺术家的引用(艺术家表的一行)。 我想写一个触发器,在更新之后或在歌曲表上删除之后,检查艺术家是否不再被任何歌曲引用,并在必要时删除它。这样我就可以拥有一个干净的数据库,我没有未使用的艺术家。这可能吗?我怎么能做到这一点? 谢谢!
答案 0 :(得分:1)
当然有可能;)
我不知道sqlite的确切语法,但试试这个:
create trigger trigger_name
after delete, update on artists_table
for each row
begin
delete from artists_table where artists_id = old.artists_id
where (select count(*) from songs where artists_id = old.artists_id) = 0;
end