2012-04-25 45 views
0

我想在發生重複記錄時返回錯誤消息,groupName是組表中唯一的字段。複製唯一字段時返回錯誤消息

我是這樣做的,因爲我正在使用的服務器是版本5.0.77-log,所以我如何使用mysql-get-diagnostics進行錯誤處理。

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 ; 

我想在重複發生時返回錯誤消息嗎?

回答

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語句來生成警告。