从函数返回insert语句的mysql错误消息
我在MySQL中有以下函数。 如果“insert”发生错误,如何使函数在成功插入行时返回从函数返回insert语句的mysql错误消息,mysql,sql,user-defined-functions,Mysql,Sql,User Defined Functions,我在MySQL中有以下函数。 如果“insert”发生错误,如何使函数在成功插入行时返回GUID,以及MySQL错误消息 DELIMITER $$ CREATE DEFINER=`root`@`localhost` FUNCTION `fnInsertBusinessInfo`( BU_NAME VARCHAR(300), BU_PHONE VARCHAR(20), BU_TYPE VARCHAR(50) ) RETURNS varchar(100) CHARSET l
GUID
,以及MySQL错误消息
DELIMITER $$
CREATE DEFINER=`root`@`localhost` FUNCTION `fnInsertBusinessInfo`(
BU_NAME VARCHAR(300),
BU_PHONE VARCHAR(20),
BU_TYPE VARCHAR(50)
) RETURNS varchar(100) CHARSET latin1
BEGIN
DECLARE
BU_ID VARCHAR(100);
SET BU_ID := (SELECT UUID());
INSERT INTO tb_business_info (BU_ID,BU_NAME,BU_PHONE,BU_TYPE) values (BU_ID,BU_NAME,BU_PHONE,BU_TYPE);
RETURN BU_ID;
END
我已设法返回
id
,但如何在插入失败时返回错误消息 mysql不返回关键字,您可以使用存储过程OUT参数。我认为您无法理解我的问题
DECLARE
BU_ID VARCHAR(100);
--modify SET BU_ID := (SELECT UUID());
SELECT UUID() into BU_ID;
INSERT INTO tb_business_info (BU_ID,BU_NAME,BU_PHONE,BU_TYPE) values (BU_ID,BU_NAME,BU_PHONE,BU_TYPE);
RETURN BU_ID;
END