MySQL-Fehler-Code: 1193. Unknown system variable
Ok, also ich arbeite auf löst, und es sagt mir, dass es(MySQL workbench 5.2) nicht erkennt, diese variable.
*Fehler-Code: 1193. Unknown system variable error_msg_3*
Ich denke, dass es richtig wäre, es auch in einem trigger, bitte helfen Sie mir
CREATE TRIGGER controlla_MaxCARDINALITA_INSERT
BEFORE INSERT ON SENTIERO__HA__TAPPA
FOR EACH ROW
BEGIN
DECLARE max_cardinalita INTEGER;
DECLARE error_msg_3 CONDITION FOR SQLSTATE '99003';
SELECT COUNT(*) into max_cardinalita
FROM SENTIERO__HA__TAPPA
WHERE IDsentiero=NEW.IDsentiero;
IF max_cardinalita>=10 THEN
SIGNAL error_msg_3;
SET error_msg_3='INSERT: Il sentiero ha già il massimo numero di tappe consentito';
END IF;
END$$
EDIT ::
Ich habe versucht, und es scheint arbeiten
DECLARE msg VARCHAR(255);
set msg = concat('MyTriggerError: Trying to insert a negative value in trigger_test: ');
signal sqlstate '45000' set message_text = msg;
InformationsquelleAutor FrancescoN | 2013-02-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Laut Die MySQL-docs, der Fehler
#1193
tritt auf, wenn Sie falschen code fürSQLSTATE
.Und, wie Sie sehen können auf dem gleichen Seite, die den SQLSTATE -
99003
ist nicht definiert.Wieder bitte, Lesen Sie die Dokumentation, die auf der Nutzung von
SIGNAL
- Klausel. Es wird ausdrücklich erwähnt: SIGNAL ist der Weg zum "return" ein Fehler. SIGNAL liefert Fehler-Informationen zu einem handler, um einen äußeren Teil der Anwendung oder auf dem client. Signal eine generische SQLSTATE-Wert '45000', was bedeutet, dass unhandled user-defined exception.Danke, Letzte Frage für Sie: mysql lässt mich nicht mit mehrere Trigger für das gleiche Ereignis und die Aktion Zeit für einen Tisch... also ich hörte, über Funktionen und Verfahren; - sind Sie die Lösung? Ich möchte, um es zu lösen in der einfachste Weg, ich bin in Eile. Dank
Für, die, würden Sie bekommen bessere Ratschläge über auf DBA stackexchange
keine Antworten für meine Frage.. hast du eine Idee?
InformationsquelleAutor hjpotter92