我在 MySQL 中遇到了触发器问题。
我的表如下:
CREATE TABLE IF NOT EXISTS Possessioncartes (
id_carte SMALLINT UNSIGNED,
PRIMARY KEY (id_carte, pseudonyme),
CONSTRAINT fk_inv_carte_id_possession FOREIGN KEY (id_carte) REFERENCES Cartes(id_carte) on delete cascade on update cascade,
pseudonyme VARCHAR(40),
CONSTRAINT fk_inv_carte_pseudo_possession FOREIGN KEY (pseudonyme) REFERENCES Joueurs(pseudonyme) on delete cascade on update cascade,
date_possession DATETIME NOT NULL,
methode_possession VARCHAR(20),
date_non_possession DATETIME,
etat SMALLINT UNSIGNED DEFAULT 1 NOT NULL
);
和我的触发器:
create trigger posseder after insert on Possessioncartes
for each row begin
set @date_non_possession = new.date_possession
where @id_carte = new.id_carte;
end$$
(当我向表中添加新卡时,触发器应该更新所有具有相同 ID 的行)
当我尝试添加新行时,我没有收到任何错误,但没有更新任何行。
我尝试省略@,但出现“未知系统变量”错误。
谢谢你的时间。