초보라서 죄송합니다..
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 포인트
2016-06-20 (월) 22:28:33
where절의 조건에 해당하는 레코드가 없다면.. 구문에 이상만 없으면 오류없이 그냥 단순하게 실행결과가 없는, 변경되는 값이 없는 상태로 끝납니다.
update문이나 delete문에 의해 적용된 레코드수는 mysql_affected_rows() 나 mysqli_affected_rows() 를 이용해서 확인이 가능합니다.
2016-06-20 (월) 18:09:52
where 절이 없다고 해서 에러가 나지 않습니다.
그 이유는 구문오류가 있는것은 아니니까요.
단지 조건이 없이 모든 컬럼에 대해서 (위의 경우라면)
gr_4='$exg_PHP' 즉, gr_4에 변수 $exg_PHP 값을 넣게 되겠네요.
2016-06-20 (월) 18:03:04
where절이 없으면 테이블 전체 row가 영향을 받는걸로 알고 있습니다
답변을 작성하려면 로그인이 필요합니다.