2012-04-25 16 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ステートメントを使用して警告を生成することができます。

関連する問題