【问题标题】:How we can use mysql_affected_rows() in stored procedure我们如何在存储过程中使用 mysql_affected_rows()
【发布时间】:2014-04-19 16:34:42
【问题描述】:

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

【问题讨论】:

    标签: mysql


    【解决方案1】:

    使用ROW_COUNT()信息功能。

    ROW_COUNT() 返回行数 更改、删除或插入 最后一条语句,如果它是 UPDATE, 删除或插入。对于他人 声明,该值可能不是 有意义。

    ROW_COUNT() 值与 从值 mysql_affected_rows() C API 函数 和mysql的行数 客户端显示以下语句 执行。

    【讨论】:

      【解决方案2】:

      例子

      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
      

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-05-30
          • 2020-04-03
          • 1970-01-01
          • 1970-01-01
          • 2011-07-24
          • 2011-12-30
          • 2011-08-03
          • 1970-01-01
          相关资源
          最近更新 更多