-1

私はphpで簡単なトリガーを書きます。これが私のコードです

$triggerQuery = 
"DELIMITER  && 
create or replace Trigger insert_room_type after insert on hotel for each row
begin 
insert into room_type values(NEW.hotelID,'Single',0,NULL);
insert into room_type values(NEW.hotelID,'Double',0,NULL);
insert into room_type values(NEW.hotelID,'Standard',0,NULL);
insert into room_type values(NEW.hotelID,'Superior',0,NULL);
end && DELIMITER ;";

ただし、コードが実行されると、最初の挿入 (4 つのうち) のみが実行されました。事前にt​​hx。

ちなみに、room_type の主キーは hotelID と RoomCategory(2 列目)なので、主キー違反はありませんよね?

4

1 に答える 1

0

PHP でトリガーが作成されたという話は聞いたことがありません。また、一度だけ作成されます。

エラーを修正するには、区切り文字を変更する必要があります。それ以外の場合、MySQL はトリガーが最初の で終了したと見なします;

DELIMITER $$
create Trigger insert_room_type after insert on hotel for each row
begin 
insert into room_type values(NEW.hotelID,'Single',0,NULL);
insert into room_type values(NEW.hotelID,'Double',0,NULL);
insert into room_type values(NEW.hotelID,'Standard',0,NULL);
insert into room_type values(NEW.hotelID,'Superior',0,NULL); 
end $$
DELIMITER ;
于 2013-03-28T15:35:58.297 に答える