最近、MySQL の作業を開始しました。現在、トリガーを作成したいのですが、MySQL が構文でエラーを返しています。
delimiter $$;
create trigger abc after insert on ratings
for each row
begin
set @n1 = select avg(rating) from ratings join users where ratings.uname=users.uname
and ratings.bookid=new.bookid users.`type`='admin' or users.`type`='critic';
update books set avgcriticrating = @n1 where bookid=new.bookid;
end;
select ステートメントは、単独で起動すると完全に実行されますが、トリガー内で使用するとエラーが発生します。
MySQLが与えるエラーは次のとおりです
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'select avg(rating) from ratings join users where ratings.uname=users.uname an' at line 4
書籍と評価テーブルの両方に、bookid というフィールドが含まれています。
助けてください