이것이 버그인지 또는 무엇인지 알 수 없습니다. 나는 간단한 MYSQL 테이블은 내가 ID 1
과 행을 가지고 BIGINT UNSIGNED NOT NULL
잘못된 값이 제공된 경우에도 MYSQL 반환 결과
입니다 id
라는 열이 table
불렀다 나는이 쿼리를 실행하면
SELECT * FROM table WHERE id = '1dasfrf'
그리고 놀랍게도 그 결과로 행 ID 1
을 반환합니다 열! 유효하지 않은 값이 제공되면 아무 것도 반환하지 않습니다. 해당 테이블의 경우 innoDB
간단히 말해 행 값 뒤에 임의의 숫자가 아닌 값을 입력하면 행이 반환됩니다. 이것은 물론 모든 id 값을 가지고 있지 않습니다. 1
그것은 더 악화 가져옵니다 http://dev.mysql.com/doc/refman/5.7/en/type-conversion.html
당신은 당신이 엄격 모드를 사용할 수있는 자동 형 변환을하지 않으려면); foo 값 ('1x'), ('xy')에 삽입, foo에서 삭제, id; ' –