创建触发器以防止从其他表插入条件

时间:2018-12-17 08:21:02

标签: mysql triggers

im试图创建触发器,以防止从其他表anggota_dosen中以某种条件阻止在buku_dalam_pinjam上插入。这是我当前的触发器

 public void deleteItem(int position) {
    notifyItemRemoved(position);
    moveFirestoreDocument(from, movedTo);
 }

它创建成功,然后当我尝试在buku_dalam_pinjam上插入数据时 它给了我错误消息,但是当我删除触发器时,让我插入了buku_dalam_pinjam表。那我的扳机有什么错误吗?

anggota_dosen table

buku_dalam_pinjam table

error message when i include the trigger

1 个答案:

答案 0 :(得分:0)

尝试

drop trigger if exists buku_dalam_pinjam_BI;
delimiter $$
CREATE  TRIGGER `buku_dalam_pinjam_BI`
BEFORE INSERT ON buku_dalam_pinjam
FOR EACH ROW BEGIN
    if exists (select 1 from anggota_dosen 
            where new.id_agt_dosen = anggota_dosen.id_agt_dosen and 
        anggota_dosen.ttl_proses_pinjam >=5) then
    signal sqlstate '45000' set message_text="error message";

    end if;
END $$
delimiter ;