假设我有一个存储过程:
DELIMITER $$
CREATE DEFINER=`root`@`%` PROCEDURE `SetupBlocks`(
IN myBlock VARCHAR(20)
)
BEGIN
INSERT INTO blocks (block)
VALUE (myBlock);
END
如果我在我的代码和数据库设置中犯了一个错误,并且该列block
只允许 15 个字符,但使用我的应用程序的人已经能够输入 20 个字符myBlock
怎么办?对于此示例,我会收到与此类似的错误:
Error Code: 1406. Data too long for column 'block'
有什么方法可以处理任何错误(不仅仅是这个错误),然后将其报告到一个表中BlockSprocErrors
,以便在 MySQL 和存储过程本身内进行监控?
只是通过修改我上面的程序来寻找一个非常基本的例子。