티스토리 뷰

Mysql에서는 어떻게 Select된 Rowcount를 얻을 수 있는가?
MSSql를 주로 사용하다 보니 SQL에서 자주 사용 하던 @@Rowcount 를 대신 할 수 있는 기능이 필요했다.

MySql에는 FOUND_ROWA() 라는 함수가 있다. 사용 방식은 아래와 같다. 

   CREATE PROCEDURE `blog_GetBlogPost`(
	p_type 		INT,
    p_blogID	INT
   )
   BEGIN
        DECLARE i_rowcount INT;
        SELECT 
            * 
        FROM 
            blog b JOIN category cat ON b.categoryID = cat.categoryID 
        WHERE 
            isActive = 1 AND blogID = p_blogID;

        SET i_rowcount = FOUND_ROWS();
   END

이 함수는 Select 쿼리의 Row 카운트를 리턴한다. 퀴리에 Limit를 걸어 놓는다 해도 실제 얻을 수 있는 전체 카운트를 반환 하므로 이점은 주의해야 한다.

또한 UDATE/ DELETE/ INSERT 시에는 실제로 적용된 Row 수를 얻기위해서는 ROW_COUNT 를 사용한다.

예) INSERT INTO your_table VALUES (1,2,3); SELECT ROW_COUNT();


얼마나 많은 수의 행이 적용되었는지 리턴한다.



'SQL > MySQL' 카테고리의 다른 글

[MySql] NULL Function  (0) 2016.10.12
[MySql] Temporary Table 생성  (0) 2016.10.12
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함