2012-05-09 2 views
-1

이 테이블에 4294967294 값이 두 번째 있습니다. 나는 그것이 어디에서 왔는지 전혀 모른다. 내 mysql.log를 확인하고 거기에 나타나지 않습니다.열 4294967294에 Mysql 별난 데이터

데이터 유형이 int (3)

어떤 거래가 있습니까?

도움이 될 것입니다.

+1

어떤 쿼리가 실행되고 있는지 알 수 없으므로 누구나 추측 할 수 있습니다. 힌트가 있으면 부호없는 INT 필드에 저장할 수있는 최대 값인 것처럼 보입니다. – Wiseguy

+0

예, 서명되지 않았습니다 ... 실수로 스크립트에서 부호없는 int를 -1로 업데이트하면 어떻게됩니까? 어쩌면 이것은이 문제를 일으킬 수 있습니다. – Allover

+0

그건 내 마음을 넘어 섰지 만, 열이 서명되지 않은 경우 -1을 삽입하려고하면 오류가 발생합니다. 삽입되기 전에 코드에서 비슷한 일이 발생 했습니까? 사용중인 언어와 그럴 가능성이 있는지를 모릅니다. – Wiseguy

답변

2

이 숫자는 2^32이므로 부호없는 int가 될 수있는 최대 숫자입니다. -1을 삽입하려고 시도 할 수 있습니까? 엄격한 SQL 모드가 활성화되어 있습니까? MySql 매뉴얼에없는 경우 :

제한 모드가 활성화되어 있지 않으면 MySQL은 범위의 해당 엔드 포인트로 값을 클리핑하고 대신 결과 값을 저장합니다.

+0

기본값을 설정했기 때문에 인서트가 필요하지 않습니다. 어쩌면 업데이트로 인해이 문제가 발생했을 수 있습니다. – Allover

+0

나는 어떤 쿼리가이 문제를 일으키는 지 알 때까지 서명되지 않은 속성을 제거했습니다. 감사! – Allover