sql >> Databáze >  >> RDS >> Mysql

Získání zprávy SQLEXCEPTION v procedurách MySQL 5.5.x

Jak vím, neexistuje způsob, jak emulovat nebo nahradit funkci GET DIAGNOSTICS v nižších verzích MySQL (nižší než 5.6.4).

Na bugs.mysql.com je mnoho záznamů a na fórech MySQL, které tuto funkci vyžadují. (Jako tento:http://bugs.mysql.com/bug.php? id=11660 )

Nevím, zda můžete nebo nemůžete upgradovat svou instanci MySQL, ale jak vím, toto je vaše jediná šance.

Našel jsem (možná jste je našli i vy) několik otázek souvisejících s touto, ale všechny se buď týkají verze 5.6.4, nebo neexistují žádné odpovědi:

UPRAVIT

Pokud můžete, zpracujte chyby MySQL v klientské aplikaci.

Chyby a varování můžete vypsat pomocí SHOW ERRORS a SHOW WARNINGS příkazy mimo HANDLER s, ale výsledek těchto příkazů nemůžete vložit do tabulky. Uvnitř obslužné rutiny tyto příkazy poskytnou prázdnou sadu výsledků.

Pro konkrétní stavy můžete deklarovat jednotlivé handlery. Tímto způsobem byste mohli znát stav, ale neznáte žádné další podrobnosti.

Podívejte se na tento článek:http://www.mysqltutorial.org /mysql-error-handling-in-stored-procedures/




  1. Jak získat hodnotu ASCII v Oracle?

  2. Optimalizujte dotaz pomocí OFFSET na velké tabulce

  3. Nelze se připojit k žádnému ze zadaných hostitelů MySQL

  4. FORCE INDEX v MySQL – kam ho mám dát?