2010-12-16 9 views

Respuesta

18

Utilice la función ROW_COUNT() información.

ROW_COUNT() devuelve el número de filas modificados, eliminados o insertados por la última declaración si era un UPDATE, supresión o inserción. Para otras declaraciones , el valor puede no ser significativo.

El valor ROW_COUNT() es el mismo que el valor de los mysql_affected_rows() de la API C y el número de filas que las pantallas de clientes MySQL siguiente declaración ejecución.

3

No se puede usar mysql_affected_rows() en un procedimiento almacenado ya que es una función de API de C. Puede usar la función FOUND_ROWS() que proporciona una funcionalidad similar. Refiera esto link para más detalles.

6

ejemplo

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 
Cuestiones relacionadas