【问题标题】:Return error message when duplicate unique fields重复唯一字段时返回错误消息
【发布时间】:2012-04-25 10:28:51
【问题描述】:

我想在出现重复记录时返回错误消息,groupName是组表中的唯一字段。

我这样做了,我如何在不使用 mysql-get-diagnostics 的情况下进行错误处理,因为我正在使用的服务器是 5.0.77-log 版本。

 DELIMITER //
 CREATE PROCEDURE addNewGroup(IN groupName varchar(128), IN addedBy INT,OUT message varchar(128) )

 BEGIN


   insert IGNORE  into  `group`( `group_name`,`Date_time_ added`,`added_by`) values (groupName ,CURRENT_TIMESTAMP(),addedBy) ;


END //

DELIMITER ;

我想在出现重复时返回错误信息?

【问题讨论】:

    标签: mysql stored-procedures error-handling


    【解决方案1】:

    试试这个方法-

    BEGIN
      INSERT IGNORE INTO table VALUES...;
      IF ROW_COUNT() = 0 THEN
        SET message = 'duplicate records occur';
      END IF;
    END
    

    ROW_COUNT() 函数返回最后一条语句的插入行数。

    在 MySQL 5.5 中。您可以使用SIGNAL 语句生成警告。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-04
      • 2014-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-03
      相关资源
      最近更新 更多