Procedure Function MySQL Tutorial

If you want to ignore a condition, you can declare a CONTINUE handler for it and associate it with an empty block.

mysql>
mysql> CREATE TABLE t (s1 int,primary key (s1));
Query OK, 0 rows affected (0.03 sec)
mysql>
mysql> delimiter //
mysql>
mysql> CREATE PROCEDURE handlerdemo ()
    -> BEGIN
    ->   DECLARE CONTINUE HANDLER FOR SQLSTATE '23000' SET @x2 = 1;
    ->   DECLARE CONTINUE HANDLER FOR SQLWARNING BEGIN END;
    ->   SET @x = 1;
    ->   INSERT INTO test.t VALUES (1);
    ->   SET @x = 2;
    ->   INSERT INTO test.t VALUES (1);
    ->   SET @x = 3;
    -> END;
    -> //
Query OK, 0 rows affected (0.00 sec)
mysql>
mysql> Delimiter ;
mysql>
mysql> CALL handlerdemo();
Query OK, 0 rows affected (0.00 sec)
mysql>
mysql> SELECT @x;
+------+
| @x   |
+------+
| 3    |
+------+
1 row in set (0.00 sec)
mysql>
mysql> drop procedure handlerdemo;
Query OK, 0 rows affected (0.00 sec)
mysql>
mysql> drop table t;
Query OK, 0 rows affected (0.02 sec)
mysql>