Error
Error Code:
1358
MariaDB Error 1358: GOTO in Handler Forbidden
Description
This error indicates an attempt to use a `GOTO` statement within a `DECLARE ... HANDLER` block in a MariaDB stored procedure. MariaDB's SQL syntax explicitly disallows `GOTO` statements inside handler routines, as they can lead to unpredictable control flow and make code difficult to maintain.
Error Message
GOTO is not allowed in a stored procedure handler
Known Causes
3 known causesDirect Use of GOTO in Handler
The `GOTO` statement is explicitly written within the `BEGIN ... END` block of a `DECLARE ... HANDLER` definition.
Misunderstanding Handler Scope
Developers might incorrectly assume `GOTO` can be used to jump to specific labels for error handling or flow control within a handler, similar to other programming languages.
Porting Incompatible SQL Code
The stored procedure code might have been copied or adapted from a different SQL database system where `GOTO` statements might be permitted in similar contexts.
Solutions
Coming SoonGeneral Troubleshooting Tips
- Check the error message carefully for specific details
- Review recent changes that might have caused the error
- Search for the exact error code in the official documentation
- Check log files for additional context
- Try restarting the application or service