Heim Datenbank MySQL-Tutorial MySQL 5.5新增SIGNAL异常处理_MySQL

MySQL 5.5新增SIGNAL异常处理_MySQL

Jun 01, 2016 pm 01:41 PM
异常

bitsCN.com
MySQL 5.5新增SIGNAL异常处理 MySQL 从 5.0 开始支持存储过程,到现在最新版本5.5 已经好几个年头了。 虽然MYSQL的异常处理不是很完善,但是处理大多数的应用还是足够了。   异常处理的语句有如下几种:1. DECLARE ... CONDITION.2. DECLARE ... HANDLER.3. RESIGNAL.4. SIGNAL. 第一种,名为条件声明。DECLARE condition_name CONDITION FOR condition_value 这里condition_name 为标准的变量命名, condition_value 为SQLSTATE 值 或者 MySQL 自身的ERROR CODE.单独的condition 语句不能直接运行。 只能作为第二种的一部分。   第二种, 名为条件处理。第一种声明好了,接下来自然要做相应的处理。DECLARE handler_action HANDLER    FOR condition_value [, condition_value] ...    statement handler_action:    CONTINUE  | EXIT  | UNDO condition_value:    mysql_error_code  | SQLSTATE [VALUE] sqlstate_value  | condition_name  | SQLWARNING  | NOT FOUND  | SQLEXCEPTION handler_action 代表处理的动作,目前有效的有两种, 继续和直接退出。condition_value 有好几种,其中包括前面条件声明里的SQLSTATE, MYSQL EEROR CODE, condition_name 以及范围混淆的其他两种SQLWARNING,SQLEXCEPTION. NOT FOUND表示任何不存在的WARNING或者ERROR。 第三种, 代表伪装系统的错误信息以及代码,刷新当前警告缓冲区域。RESIGNAL [condition_value]    [SET signal_information_item    [, signal_information_item] ...] condition_value:    SQLSTATE [VALUE] sqlstate_value  | condition_name signal_information_item:    condition_information_item_name = simple_value_specification condition_information_item_name:    CLASS_ORIGIN  | SUBCLASS_ORIGIN  | MESSAGE_TEXT  | MYSQL_ERRNO  | CONSTRAINT_CATALOG  | CONSTRAINT_SCHEMA  | CONSTRAINT_NAME  | CATALOG_NAME  | SCHEMA_NAME  | TABLE_NAME  | COLUMN_NAME  | CURSOR_NAME 特别注意的是可以伪装的具体东西很多,包括错误代码(MYSQL自身的东东),错误内容,错误的数据库名,表名,列名等等。 第四种,SIGNAL和RESIGNAL差别不大,我们记住signal 不能单独运行,resignal可以单独运行。SIGNAL condition_value    [SET signal_information_item    [, signal_information_item] ...] condition_value:    SQLSTATE [VALUE] sqlstate_value  | condition_name signal_information_item:    condition_information_item_name = simple_value_specification condition_information_item_name:    CLASS_ORIGIN  | SUBCLASS_ORIGIN  | MESSAGE_TEXT  | MYSQL_ERRNO  | CONSTRAINT_CATALOG  | CONSTRAINT_SCHEMA  | CONSTRAINT_NAME  | CATALOG_NAME  | SCHEMA_NAME  | TABLE_NAME  | COLUMN_NAME  | CURSOR_NAME 我们现在给几个例子。 不用RESIGNAL/SIGNAL。[sql] DELIMITER $$    USE `t_girl`$$    DROP PROCEDURE IF EXISTS `sp_signal1`$$    CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_signal1`(      IN f_id INT      )  BEGIN        DECLARE con1 TINYINT DEFAULT 0;        DECLARE con1 CONDITION FOR SQLSTATE '23000';        DECLARE CONTINUE HANDLER FOR con1        BEGIN          SELECT 'Error Code : 22/r/nDuplicated!';        END;        INSERT INTO user_info VALUES (f_id);      END$$    DELIMITER ;   CALL sp_signal1(12); query result resultError Code : 22Duplicated! 用RESIGNAL/SIGNAL 重刷当前错误诊断区域。 [sql] DELIMITER $$         USE `t_girl`$$      DROP PROCEDURE IF EXISTS `sp_signal1`$$      CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_signal1`(      IN f_id INT      )  BEGIN        DECLARE con1 TINYINT DEFAULT 0;        DECLARE con1 CONDITION FOR SQLSTATE '23000';        DECLARE CONTINUE HANDLER FOR con1        BEGIN          resignal SET schema_name = 'action',                table_name = 'action_tb',                message_text = 'Duplicated!',                       mysql_errno = 22;  /*             signal con1 SET schema_name = 'action',                table_name = 'action_tb',                message_text = 'Duplicated!',                       mysql_errno = 22;         */        END;        INSERT INTO user_info VALUES (f_id);      END$$    DELIMITER ;   CALL sp_signal1(12);   Query : call sp_signal1(12)Error Code : 22Duplicated!Execution Time : 00:00:00:000Transfer Time  : 00:00:00:000Total Time     : 00:00:00:000  作者 四爷 bitsCN.com

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was sind die häufigsten Ursachen für OutOfMemoryError-Ausnahmen in Java? Was sind die häufigsten Ursachen für OutOfMemoryError-Ausnahmen in Java? Jun 25, 2023 pm 08:43 PM

Java ist eine der am weitesten verbreiteten Programmiersprachen, aber bei der Entwicklung von Anwendungen mit Java kann es leicht zu „OutOfMemoryError“-Ausnahmefehlern kommen, die für Entwickler oft eine Herausforderung darstellen. Was genau verursacht die OutOfMemoryError-Ausnahme in Java? Als nächstes erfahren wir mehr darüber. Speicherverlust (MemoryLeak) Speicherverlust bezieht sich darauf, dass ein Objekt, wenn es vom Garbage Collector nicht recycelt werden kann, einen Speicherverlust verursacht.

Methoden zur Lösung der Java-Reflektionsausnahme (ReflectiveOperationException) Methoden zur Lösung der Java-Reflektionsausnahme (ReflectiveOperationException) Aug 26, 2023 am 09:55 AM

Methoden zum Lösen von Java-Reflektionsausnahmen (ReflectiveOperationException) In der Java-Entwicklung ist Reflektion (Reflection) ein leistungsstarker Mechanismus, der es Programmen ermöglicht, Klassen, Objekte, Methoden, Eigenschaften usw. zur Laufzeit dynamisch abzurufen und zu betreiben. Durch Reflexion können wir einige flexible Funktionen implementieren, z. B. das dynamische Erstellen von Objekten, das Aufrufen privater Methoden, das Abrufen von Klassenanmerkungen usw. Allerdings birgt die Verwendung von Reflexion auch einige potenzielle Risiken und Probleme, darunter Reflexionsanomalien (

So lösen Sie eine Java-Thread-Interrupt-Timeout-Ausnahme (ThreadInterruptedTimeoutExceotion) So lösen Sie eine Java-Thread-Interrupt-Timeout-Ausnahme (ThreadInterruptedTimeoutExceotion) Aug 18, 2023 pm 01:57 PM

So lösen Sie die Java-Thread-Interrupt-Timeout-Ausnahme (ThreadInterruptedTimeoutException). Bei der Java-Multithread-Programmierung stoßen wir häufig auf Situationen, in denen die Thread-Ausführungszeit zu lang ist. Um zu verhindern, dass Threads zu viele Systemressourcen belegen, legen wir normalerweise ein Timeout fest. Wenn die Thread-Ausführungszeit das Timeout überschreitet, hoffen wir, die Ausführung des Threads zu unterbrechen. Java bietet einen Thread-Unterbrechungsmechanismus, indem Sie die Methode interrupt() des Threads aufrufen

Das neueste Meisterwerk des MIT: Verwendung von GPT-3.5 zur Lösung des Problems der Erkennung von Zeitreihenanomalien Das neueste Meisterwerk des MIT: Verwendung von GPT-3.5 zur Lösung des Problems der Erkennung von Zeitreihenanomalien Jun 08, 2024 pm 06:09 PM

Heute möchte ich Ihnen einen letzte Woche vom MIT veröffentlichten Artikel vorstellen, in dem GPT-3.5-turbo verwendet wird, um das Problem der Erkennung von Zeitreihenanomalien zu lösen, und zunächst die Wirksamkeit von LLM bei der Erkennung von Zeitreihenanomalien überprüft wird. Im gesamten Prozess gibt es keine Feinabstimmung, und GPT-3.5-Turbo wird direkt zur Anomalieerkennung verwendet. Der Kern dieses Artikels besteht darin, wie man Zeitreihen in Eingaben umwandelt, die von GPT-3.5-Turbo erkannt werden können, und wie man sie entwirft Eingabeaufforderungen oder Pipelines, damit LLM die Anomalieerkennungsaufgabe lösen kann. Lassen Sie mich Ihnen diese Arbeit im Detail vorstellen. Titel des Bildpapiers: Largelingualmodelscanbezero-shotanomalydete

Ein Leitfaden zu den ungewöhnlichen Missionen im Rise of Ronin Pool Ein Leitfaden zu den ungewöhnlichen Missionen im Rise of Ronin Pool Mar 26, 2024 pm 08:06 PM

Die Abnormalität im Pool ist eine Nebenaufgabe im Spiel. Viele Spieler möchten wissen, wie sie die Abnormalität im Pool erledigen können. Zuerst müssen wir die Technik des Schießens im Wasser beherrschen Die Aufgabe und die Untersuchung der Quelle des Gestanks. Später stellten wir fest, dass sich unter dem Pool viele Leichen befinden. Werfen wir einen Blick auf diese grafische Anleitung für die ungewöhnlichen Aufgaben im Pool in Rise of Ronin. Leitfaden für ungewöhnliche Missionen im Ronin Rise Pool: 1. Sprechen Sie mit Iizuka und lernen Sie die Technik des Schießens im Wasser. 2. Gehen Sie zum Ort im Bild unten, um die abnormale Aufgabe im Pool zu erhalten. 3. Gehen Sie zum Missionsort, sprechen Sie mit dem NPC und erfahren Sie, dass im nahegelegenen Pool ein übler Geruch herrscht. 4. Gehen Sie zum Pool, um nachzuforschen. 5. Schwimmen Sie zum Ort im Bild unten, tauchen Sie unter Wasser und Sie werden viele Leichen finden. 6. Machen Sie mit einer Kamera Fotos von der Leiche. 7

So lösen Sie die Ausnahme beim Zurücksetzen der Java-Netzwerkverbindung (ConnectionResetException) So lösen Sie die Ausnahme beim Zurücksetzen der Java-Netzwerkverbindung (ConnectionResetException) Aug 26, 2023 pm 07:57 PM

So lösen Sie die Ausnahme zum Zurücksetzen der Java-Netzwerkverbindung (ConnectionResetException) Bei der Java-Netzwerkprogrammierung tritt häufig eine Ausnahme zum Zurücksetzen der Netzwerkverbindung (ConnectionResetException) auf. Diese Ausnahme bedeutet, dass der andere Host die Verbindung versehentlich geschlossen hat. Dies kann durch einen Absturz des Hosts der anderen Partei, eine Netzwerkunterbrechung oder die Firewall-Konfiguration verursacht werden. Beim Schreiben von Netzwerkanwendungen müssen wir diese Ausnahme behandeln, um sicherzustellen, dass das Programm normal ausgeführt werden kann

So beheben Sie eine Anomalie im Soundkartentreiber So beheben Sie eine Anomalie im Soundkartentreiber Feb 22, 2024 am 09:10 AM

Einige Benutzer stellen bei der Verwendung des Computers plötzlich fest, dass ihr Soundkartentreiber nicht normal ist. In diesem Fall können Sie den Treiber über den Geräte-Manager aktualisieren oder den Treiber zurücksetzen, um zu sehen, ob das Problem erfolgreich gelöst wurde. So beheben Sie eine Anomalie des Soundkartentreibers: 1. Klicken Sie mit der rechten Maustaste auf „Dieser PC“ und wählen Sie „Verwalten“. 2. Klicken Sie auf „Geräte-Manager“, klicken Sie auf „Sound“. 3. Klicken Sie mit der rechten Maustaste auf den Treiber und wählen Sie „Eigenschaften“. 4. Klicken Sie auf „Treiber“. " oben und klicken Sie dann unten. Sie können „Aktualisieren oder Rollback“ wählen.

C++-Funktionsausnahmen und Einzeltests: Sicherstellen, dass der Code einwandfrei ist C++-Funktionsausnahmen und Einzeltests: Sicherstellen, dass der Code einwandfrei ist May 03, 2024 am 09:18 AM

Ausnahmebehandlung und Unit-Tests sind wichtige Methoden, um die Solidität von C++-Code sicherzustellen. Ausnahmen werden über Try-Catch-Blöcke behandelt. Wenn der Code eine Ausnahme auslöst, springt er zum Catch-Block. Unit-Tests isolieren Codetests, um zu überprüfen, ob die Ausnahmebehandlung unter verschiedenen Umständen wie erwartet funktioniert. Praktischer Fall: Die Funktion sumArray berechnet die Summe der Array-Elemente und löst eine Ausnahme aus, um ein leeres Eingabearray zu verarbeiten. Unit-Tests überprüfen das erwartete Verhalten einer Funktion unter ungewöhnlichen Umständen, z. B. beim Auslösen einer std::invalid_argument-Ausnahme, wenn ein Array leer ist. Fazit: Durch die Nutzung von Ausnahmebehandlung und Komponententests können wir Ausnahmen behandeln, Codeabstürze verhindern und sicherstellen, dass sich der Code unter abnormalen Bedingungen wie erwartet verhält.

See all articles