我们如何使用mysql_affected_rows()
在存储过程中..
答案 0 :(得分:20)
使用ROW_COUNT()信息功能。
ROW_COUNT()返回行数 由...更改,删除或插入 最后声明如果是更新, 删除或插入。对于其他 声明,价值可能不是 有意义。
ROW_COUNT()值与 来自的价值 mysql_affected_rows()C API函数 和mysql的行数 客户端显示以下语句 执行。
答案 1 :(得分:7)
例如
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
答案 2 :(得分:3)
您不能在存储过程中使用mysql_affected_rows()
,因为它是C API函数。您可以使用FOUND_ROWS()
函数来提供类似的功能。有关详细信息,请参阅此link。