Complex SQL Constraints as a Trigger
CREATE TRIGGER complex_constraint BEFORE INSERT ON my_table
FOR EACH ROW
BEGIN
IF /*complex constraint*/(NEW.field1 IS NOT NULL AND NEW.field2 IS NOT NULL) OR (NEW.field1 IS NULL AND NEW.field2 IS NULL) THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'complex constraint exception message';
END IF;
END