
mysql_affected_rows 함수는 INSERT, UPDATE, DELETE 쿼리에서 다르게 작동하는 이유는 MySQL의 내부 로직에 따라 결정됩니다.
INSERT 쿼리에서 mysql_affected_rows 함수가 1을 반환하는 이유는 MySQL이 INSERT 쿼리를 수행할 때, 새로운 행을 추가하는 동시에 해당 행의 ID를 자동으로 생성하는 AUTO_INCREMENT 속성을 사용할 때 발생합니다. 이 경우 MySQL은 새로운 행을 추가한 후에 해당 행의 ID를 반환합니다. 따라서 mysql_affected_rows 함수는 1을 반환하는 것입니다.
UPDATE 쿼리에서 mysql_affected_rows 함수가 변경된 행의 수를 반환하는 이유는 MySQL이 UPDATE 쿼리를 수행할 때, 변경된 행의 수를 정확하게 계산하기 위해 내부적으로 변경된 행의 수를 추적하는 메커니즘을 사용합니다. 이 메커니즘은 UPDATE 쿼리에서 변경된 행의 수를 반환하기 위해 사용됩니다.
따라서 mysql_affected_rows 함수의 동작 원리는 MySQL의 내부 로직에 따라 결정되며, INSERT 쿼리와 UPDATE 쿼리에서 다르게 작동하는 이유는 MySQL이 각 쿼리를 수행하는 방식이 다르기 때문입니다.
2025-05-31 19:08