테스트 사이트 - 개발 중인 베타 버전입니다

update 기본적인 질문요.. 채택완료

소수리꼬 9년 전 조회 10,381

초보라서 죄송합니다..

 

sql_query("update $g4[group_table] set gr_4='$exg_PHP' where gr_1 = 'center' and gr_5 = 'PHP' and gr_10 = 'Y' and gr_1_subj='1' ");

 

이런 쿼리가 있다면요...

where 뒤에 붙는 조건에 해당하는 레코드가 없다면...

어찌되나요? 그냥 넘어가나요? 오류나나요? 

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트
9년 전

where절의 조건에 해당하는 레코드가 없다면.. 구문에 이상만 없으면 오류없이 그냥 단순하게 실행결과가 없는, 변경되는 값이 없는 상태로 끝납니다.

update문이나 delete문에 의해 적용된 레코드수는 mysql_affected_rows() 나 mysqli_affected_rows() 를 이용해서 확인이 가능합니다.

http://php.net/manual/kr/function.mysql-affected-rows.php">http://php.net/manual/kr/function.mysql-affected-rows.php

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

p
9년 전

where 절이 없다고 해서 에러가 나지 않습니다.

그 이유는 구문오류가 있는것은 아니니까요.

단지 조건이 없이 모든 컬럼에 대해서 (위의 경우라면)

gr_4='$exg_PHP' 즉, gr_4에 변수 $exg_PHP 값을 넣게 되겠네요.

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

9년 전

where절이 없으면 테이블 전체 row가 영향을 받는걸로 알고 있습니다 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인