我们如何在存储过程中使用mysql_affected_rows()

Nul*_*ter 17 mysql

我们如何mysql_affected_rows() 在存储过程中使用..

mar*_*ton 23

使用ROW_COUNT()信息函数.

ROW_COUNT()返回最后一个语句更改,删除或插入的行数(如果它是UPDATE,DELETE或INSERT).对于其他陈述,该值可能没有意义.

ROW_COUNT()值与mysql_affected_rows()C API函数中的值以及mysql客户端在语句执行后显示的行数相同.


ege*_*men 8

例

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
Run Code Online (Sandbox Code Playgroud)


rkg*_*rkg 5

您不能在存储过程中使用它,mysql_affected_rows()因为它是 C API 函数。您可以使用FOUND_ROWS()提供类似功能的函数。请参阅此链接了解更多详细信息。