열거 형 유형 인 "SET"유형의 데이터베이스 필드에서 동일한 문제가 발생했습니다.
그 목록에없는 값을 추가하려고했습니다.
추가하려고 한 값은 십진수 256이지만 열거 형 목록에는 8 개의 값만 있습니다.
1: 1 -> A
2: 2 -> B
3: 4 -> C
4: 8 -> D
5: 16 -> E
6: 32 -> F
7: 64 -> G
8: 128 -> H
그래서 필드에 추가 값을 추가해야했습니다.
이 문서 항목을 읽고 문제를 이해하는 데 도움 이 되었습니다.
MySQL은 첫 번째 집합 멤버에 해당하는 저장된 값의 하위 비트와 함께 SET 값을 숫자로 저장합니다. 숫자 컨텍스트에서 SET 값을 검색하는 경우 검색된 값에는 열 값을 구성하는 집합 멤버에 해당하는 비트 세트가 있습니다. 예를 들어 다음과 같이 SET 열에서 숫자 값을 검색 할 수 있습니다.
mysql> SELECT set_col+0 FROM tbl_name; If a number is stored into a
숫자가 SET 열에 저장되는 경우 숫자의 이진 표현에 설정된 비트는 열 값의 집합 멤버를 결정합니다. SET ( 'a', 'b', 'c', 'd')로 지정된 열의 경우 멤버는 다음과 같은 10 진수 및 2 진 값을 갖습니다.
SET Member Decimal Value Binary Value
'a' 1 0001
'b' 2 0010
'c' 4 0100
'd' 8 1000
이 열에 값 9를 할당하면 2 진수로 1001이므로 첫 번째 및 네 번째 SET 값 멤버 'a'및 'd'가 선택되고 결과 값은 'a, d'가됩니다.