トリガーをテストしていますが、変数が本来のように機能していないように見えることを除けば、すべてうまく機能します。
例えば
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();
たとえば、これをどのように定義して使用するのでしょうか?