0

トリガーをテストしていますが、変数が本来のように機能していないように見えることを除けば、すべてうまく機能します。

例えば

DELIMITER //
CREATE TRIGGER lestrigger
    AFTER INSERT ON examinations
   FOR EACH ROW
  BEGIN
    DECLARE the_last_inserted_id INT ;
    DECLARE the_class_id INT;
    DECLARE the_year_id INT;

    SET the_last_inserted_id = LAST_INSERT_ID();
    SET the_class_id = (select examination_class_id from examinations where examination_id = 1);
    SET the_year_id = (select examination_class_id from examinations where examination_id = 1);

insert into examination_data (ed_cs_id,ed_examination_id)  select cs_id,@the_last_insert_id from class_students where cs_class_id = 1 AND cs_year_id = 1;

END //
DELIMITER ;

この行で

insert into examination_data (ed_cs_id,ed_examination_id)  select cs_id,the_last_insert_id from class_students where cs_class_id = 1 AND cs_year_id = 1;

the_last_insert_id柱として見られている

これを試して@the_last_insert_idみると、列としては表示されませんが、どちらも機能しません。残りの変数は試していません。

the_last_inserted_id = LAST_INSERT_ID();たとえば、これをどのように定義して使用するのでしょうか?

4

1 に答える 1