Wenn dies ausgeführt wird:kann nicht für SQLSTATEs zwei Handler erklären
DELIMITER $$
CREATE TRIGGER tr_test BEFORE UPDATE ON test
FOR EACH ROW
BEGIN
DECLARE EXIT HANDLER FOR SQLSTATE '45000';
DECLARE EXIT HANDLER FOR SQLSTATE '23000';
IF(older_record(NEW.last_action_timestamp, OLD.last_action_timestamp)) THEN
SET @rowhash = (SELECT MD5(NEW));
INSERT INTO test_db.test_table SELECT NEW.*, @rowhash;
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'old record';
END IF
END
$$
DELIMITER ;
bekomme ich folgende Fehlermeldung:
Sie haben einen Fehler in Ihrer SQL-Syntax; Überprüfen Sie das Handbuch, das Ihrer> MariaDB-Serverversion entspricht, für die richtige Syntax, die in der Nähe verwendet werden soll. '; DECLARE EXIT HANDLER FÜR SQLSTATE '23000'; IF (older_record (NEW.l‘in Zeile 4
ich die Frage bearbeiten Sie Ihre Lösung zu implementieren, aber ich bekomme immer noch einen Fehler –
einen weiteren Stich zu machen. –