320x100
보통 쿼리를 돌리면 영향받은 로우 수라고 해서 Affected Rows를 구할 필요가 있어진다.
MYSQL에서는 실제로 데이터가 변경된 수만 반영되며, 데이터가 변화가 없는 경우엔 0건으로 보여진다.
Query
SELECT ROW_COUNT();
C API
mysql_affected_rows();
업무 중에서 캐릭터 데이터를 insert 해주고 성공했을 경우(affected row > 0) 나머지 데이터들을 추가로 넣어주려고 했는데 데이터가 추가됐음에도 불구하고 row가 계속 0으로 나왔다. 트랜잭션이나 쿼리가 섞여 있는게 아니였는데도 말이다.
https://stackoverflow.com/questions/14437539/how-to-use-row-count-with-transaction
일단 기능 자체의 완성이 필요해서 SELECT으로 다시 확인하는 방법으로 바꿔놓긴 했지만 뭔가 아쉽다.
차후 최적화할 때 다시 한번 찾아봐야겠다.
320x100
'DB > MYSQL' 카테고리의 다른 글
LAST_INSERT_ID() 사용 시 주의할 점 (0) | 2022.01.07 |
---|---|
테이블, 컬럼 언어 변경하기 (0) | 2021.12.29 |
모든 저장 프로시저내에서 텍스트 찾기 (0) | 2021.10.25 |
쿼리 조건에 들어갈 내용을 파라미터로 전달하기 (0) | 2021.10.18 |
동적 쿼리 작성하기 (0) | 2021.10.15 |