Eigenlijk kun je niet definieer voorwaardelijke structuren in DDL-syntaxis. Uw veld kan ofwel NULL
. zijn of NOT NULL
- er is geen derde optie (en het kan niet afhankelijk zijn van een ander veld in structuur )
Maar je kunt nog steeds gewenst gedrag nabootsen via triggers. U kunt UPDATE
onderbreken /INSERT
verklaring als inkomende gegevens ongeldig zijn in termen van uw logica. Dat kan via:
CREATE TRIGGER `bannedOnCheck`
BEFORE INSERT ON `fa_ranking_system`.`Player`
FOR EACH ROW
BEGIN
IF(new.IsBanned && new.BannedOn IS NULL) THEN
SIGNAL 'Integrity check failed: can not set banned without ban date'
END IF
END