2010-12-16 15 views

Odpowiedz

18

użyć funkcji ROW_COUNT() informacji.

ROW_COUNT() zwraca liczbę wierszy zmienione, usunięte lub wstawianych przez ostatniego sprawozdania jeśli to był UPDATE DELETE lub INSERT. W przypadku innych instrukcji wartość może nie być znacząca dla wartości .

Wartość ROW_COUNT() jest taka sama jak wartość z mysql_affected_rows() C funkcja API a liczba wierszy, że wyświetla mysql klienta komunikat zwrotny wykonania.

3

Nie można użyć mysql_affected_rows() w procedurze przechowywanej, ponieważ jest to funkcja API C. Możesz użyć funkcji FOUND_ROWS(), która zapewnia podobną funkcjonalność. Więcej informacji można znaleźć w tej wersji: link.

6

przykład

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 
Powiązane problemy