sin*_*800 6 mysql trigger constraint
出于一致性原因,我想使关系中的列不可修改。
背景故事是我有一个:n 关系,其中“连接”关系具有附加值。我不希望任何人能够更改关系伙伴的 ID。
到目前为止我想出了什么:
创建一个触发器来检查 NEW 值是否与 OLD 值相同。但如果条件证明为 TRUE,我不知道如何拒绝 UPDATE 操作。
到目前为止,这是我的触发器:
CREATE TRIGGER deny_nton_change BEFORE UPDATE ON Schueler_in_Klasse
FOR EACH ROW BEGIN
IF NEW.Schueler_ID != OLD.Schueler_ID OR NEW.Klasse_ID != OLD.Klasse_ID THEN
END IF;
END;
Run Code Online (Sandbox Code Playgroud)
gbn*_*gbn 10
而不是中止更新,只是覆盖它?
...
FOR EACH ROW BEGIN
SET NEW.Schueler_ID = OLD.Schueler_ID;
SET NEW.Klasse_ID = OLD.Klasse_ID;
END
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3097 次 |
最近记录: |