0

mysql トリガーでいくつかの変数を宣言しています

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 = the_last_inserted_id;
    SET the_year_id = select examination_class_year_id from examinations where examination_id = the_last_inserted_id;

    insert into examination_data (ed_cs_id,ed_examination_id) select cs_id from class_students where cs_class_id = the_class_id AND cs_year_id = the_year_id,the_last_inserted_id;

END
  //
DELIMITER ;

しかし、私はこのエラーが発生し続けます

/* SQL エラー (1064): SQL 構文にエラーがあります。使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

変数の使用方法は構文的に正しいですか?

4

1 に答える 1

0

INTOキーワードhttp://dev.mysql.com/doc/refman/5.0/en/select-into.htmlを使用

select examination_class_id into the_class_id from examinations where examination_id = the_last_inserted_id;
select examination_class_year_id into the_year_id from examinations where examination_id = the_last_inserted_id;
于 2013-07-21T17:22:41.590 に答える