私は学校の図書館のプロジェクトを行っています。登録日、有効期限、および更新日の属性を持つ Member テーブルがあります。今、新しいメンバーが登録しているときに、登録日、更新日に現在の日付を挿入するトリガーが必要です。メンバーシップは 2 年間有効であるため、有効期限は現在の日付から 2 年に設定する必要があります。 . これでトリガーを作成しましたが、新しいメンバーを挿入しようとすると、次のエラーが発生します。
- エラー コード: 1442。このストアド ファンクション/トリガーを呼び出したステートメントによって既に使用されているため、ストアド ファンクション/トリガーのテーブル 'member' を更新できません。
これが私のきっかけです
DELIMITER $$
create trigger regDate
before insert on member
for each row begin
set @currentDate = CURDATE();
set @expDate = ADDDATE(@currentDate, INTERVAL 2 year);
insert into member(regDate, expDate, renewDate) values (@currentDate, @expDate, @currentDate);
end$$
私は解決策を探しましたが、誰かがそれを MySQL のバグだと言うところで行き止まりになりました!