【发布时间】:2014-04-19 16:34:42
【问题描述】:
我们如何使用mysql_affected_rows()
在存储过程中..
【问题讨论】:
标签: mysql
我们如何使用mysql_affected_rows()
在存储过程中..
【问题讨论】:
标签: mysql
使用ROW_COUNT()信息功能。
ROW_COUNT() 返回行数 更改、删除或插入 最后一条语句,如果它是 UPDATE, 删除或插入。对于他人 声明,该值可能不是 有意义。
ROW_COUNT() 值与 从值 mysql_affected_rows() C API 函数 和mysql的行数 客户端显示以下语句 执行。
【讨论】:
例子
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
【讨论】:
您不能在存储过程中使用mysql_affected_rows(),因为它是一个 C API 函数。您可以使用提供类似功能的FOUND_ROWS() 函数。请参阅此link 了解更多详情。
【讨论】: