2010-12-16 66 views

回答

18

使用ROW_COUNT()信息功能。

ROW_COUNT()返回更改,刪除或插入由 最後一條語句行 的數量,如果它是一個UPDATE, 刪除或插入。對於其他 報表,該值可能不是 有意義。

的ROW_COUNT()值是相同的 從 mysql_affected_rows()的值C API函數 和下面的語句 執行MySQL的 客戶端顯示行計數。

3

您不能在存儲過程中使用mysql_affected_rows(),因爲它是C API函數。您可以使用FOUND_ROWS()函數提供類似的功能。有關更多詳細信息,請參閱此link

6

示例

BEGIN 
DECLARE countRow INT; 
DECLARE roomTypeId INT; 
     INSERT INTO room_type (room_type) 
SELECT * FROM (SELECT paramRoomType) AS tmp 
WHERE NOT EXISTS (
    SELECT room_type_id FROM room_type WHERE room_type = paramRoomType 
) LIMIT 1; 
SET countRow = ROW_COUNT(); 

IF(countRow > 0) THEN 
    SET roomTypeId = LAST_INSERT_ID(); 
    INSERT hotel_has_room_type (hotel_id,room_type_id) VALUES (paramHotelId,roomTypeId); 
END IF; 
END 
相關問題