use of signal for insert statement in mysql stored procedure
This is done using a proper UNIQUE index on the table itself. MySQL will automatically take care of it.
This is done using proper data types for the fields in the table itself. MySQL will automatically take care of it. (BTW: your item_value is already smallint(6) so it can only be numeric anyway.)
Seeing the obove two points, you probably don't need to check this anymore.


Meaning you probably not need your stored procedure anymore. At least not for this reason.