0

我想在出现重复记录时返回错误消息,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 ;

我想在发生重复时返回错误消息?

4

1 回答 1

0

试试这个方法——

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语句来生成警告。

于 2012-04-25T10:35:22.430 回答