从插入语句的函数返回mysql错误消息

Posted

技术标签:

【中文标题】从插入语句的函数返回mysql错误消息【英文标题】:return mysql error msg from function for insert statement 【发布时间】:2013-09-28 06:22:24 【问题描述】:

我在 mysql 中有以下功能。 如何使函数在成功插入行时返回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,但如何在插入不成功时返回错误消息?

【问题讨论】:

【参考方案1】:
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

【讨论】:

mysql不返回关键字,可以使用存储过程OUT参数 我认为你无法理解我的问题

以上是关于从插入语句的函数返回mysql错误消息的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 常用插入语法总结

学习mysql插入返回语法错误

node mysql插入中文时报错

用于插入/更新 MySql DB 的函数返回错误的“受影响的行”数

MySQL函数--

java对mysql进行批处理插入数据,如何返回错误的没插入数据