创建触发器后插入值的问题

时间:2019-09-04 19:00:10

标签: mysql

我是mysql的新手,并且遇到了无法解决的问题,因此需要您的帮助。

我创建了一个看起来像这样的触发器:

delimiter //

CREATE trigger NEWBOOKTRIGGER138
after insert ON NEW_SALES

FOR each row

BEGIN

    IF (SELECT COUNT(*) FROM NEW_SALES NS
        INNER JOIN NEW_BOOKS NB ON NS.ISBN=NB.ISBN GROUP BY GENRE)>138 then
        update GENRE set genre=GENRE|| "BEST.SELLER";
    ELSEif (SELECT COUNT(*) FROM NEW_SALES NS   
        INNER JOIN NEW_BOOKS NB ON NS.ISBN=NB.ISBN GROUP BY GENRE)<=138 then
        update GENRE set genre= GENRE;
    end if;
END;//

如果某本书在genre title表中出现了138次以上,则为了将new_books(表genre BEST.SELLER中的)new_sales更改为new_books。 我收到一条消息,说明触发器已成功创建。

问题是,当我尝试在Error code 1242: Subquery returns more than 1 row.表中插入一个元组(以查看触发器是否真正起作用)时,我得到了INSERT INTO NEW_SALES(ISBN,cid) VALUES ("6666666666666",555);

我尝试以这种方式插入元组:

employees

当我放下触发器时,上面的插入命令就可以了, 但是,如果我不能插入新的元组,该如何测试触发器的功能?

先谢谢你们。 科斯塔斯

0 个答案:

没有答案