이 문제는 알려진 것입니까?MYSQL INET_ATON. 버그를 발견 했습니까?
select * from 'tablename' where INET_ATON('any valid ip');
전체 db를 표시합니다. 나는 우연히 ipaddress = INET_ATON('ip');
을 추가하고 전체 DB를 cganged하는 것을 잊는다.
select * from 'tablename'
where 1
는 WHERE
절은 항상 true이기 때문에, 모든 테이블 행이 반환됩니다 : 당신이 쿼리 무엇
다른 쿼리를 사용하여 "전체 db를 변경했습니다"그래도 되겠습니까? 또는 마치 이것이 모든 것을 선택하는 하위 쿼리의 일부였던 것처럼? –
WHERE INET_ATON ('유효한 ip')'. MySQL은 이것을 boolean으로 변환하려고 시도 할 것이다. '0'보다 크기 때문에'WHERE TRUE' 또는 ('WHERE 1')을했을 때와 같습니다. 그래서 모든 행을 선택했습니다. 이 쿼리만으로는 아무 것도 업데이트하지 않습니다. 'UPDATE' 쿼리를 실행 했습니까? –
update 'tablename'field1 = '0', field2 = '0', field3 = '0'으로 설정합니다. 여기서 INET_ATON ('any ip'); – user2561395