
mysql_field_flags 함수는 필드의 정보 중에서 flag를 반환하는데, 각 flag의 의미는 다음과 같습니다.
- MYSQL_PRI_KEY: 필드가 primary key인 경우
- MYSQL_NOT_NULL: 필드가 null 값을 허용하지 않는 경우
- MYSQL_NUM: 필드가 숫자 타입인 경우
- MYSQL_ZEROFILL: 필드가 zero-fill 인 경우
- MYSQL_UNSIGNED: 필드가 unsigned 타입인 경우
- MYSQL_BINARY: 필드가 binary 타입인 경우
- MYSQL_BLOB: 필드가 blob 타입인 경우
- MYSQL_TIMESTAMP: 필드가 timestamp 타입인 경우
- MYSQL_SET: 필드가 set 타입인 경우
- MYSQL_ENUM: 필드가 enum 타입인 경우
- MYSQL_PART_KEY: 필드가 부분 primary key인 경우
- MYSQL_UNIQUE_KEY: 필드가 unique key인 경우
- MYSQL_MULTIPLE_KEY: 필드가 multiple key인 경우
- MYSQL_NO_DEFAULT: 필드에 기본값이 설정되지 않은 경우
- MYSQL_ON_UPDATE_NOW: 필드가 update 시 현재 시간을 저장하는 경우
- MYSQL_AUTO_INCREMENT: 필드가 auto_increment 타입인 경우
- MYSQL_NOT_NULL_KEY: 필드가 not null key인 경우
- MYSQL_INDEX: 필드가 index인 경우
- MYSQL_UNSIGNED_INT: 필드가 unsigned integer 타입인 경우
- MYSQL_ZEROFILL_INT: 필드가 zero-fill integer 타입인 경우
- MYSQL_TINY: 필드가 tiny 타입인 경우
- MYSQL_SHORT: 필드가 short 타입인 경우
- MYSQL_LONG: 필드가 long 타입인 경우
- MYSQL_FLOAT: 필드가 float 타입인 경우
- MYSQL_DOUBLE: 필드가 double 타입인 경우
- MYSQL_DECIMAL: 필드가 decimal 타입인 경우
- MYSQL_TINY_BLOB: 필드가 tiny blob 타입인 경우
- MYSQL_MEDIUM_BLOB: 필드가 medium blob 타입인 경우
- MYSQL_LONG_BLOB: 필드가 long blob 타입인 경우
- MYSQL_TIMESTAMP: 필드가 timestamp 타입인 경우
- MYSQL_DATE: 필드가 date 타입인 경우
- MYSQL_TIME: 필드가 time 타입인 경우
- MYSQL_DATETIME: 필드가 datetime 타입인 경우
- MYSQL_YEAR: 필드가 year 타입인 경우
- MYSQL_NEWDECIMAL: 필드가 new decimal 타입인 경우
- MYSQL_ENUM: 필드가 enum 타입인 경우
- MYSQL_SET: 필드가 set 타입인 경우
- MYSQL_TINY: 필드가 tiny 타입인 경우
- MYSQL_SHORT: 필드가 short 타입인 경우
- MYSQL_LONG: 필드가 long 타입인 경우
- MYSQL_FLOAT: 필드가 float 타입인 경우
- MYSQL_DOUBLE: 필드가 double 타입인 경우
- MYSQL_DECIMAL: 필드가 decimal 타입인 경우
- MYSQL_TINY_BLOB: 필드가 tiny blob 타입인 경우
- MYSQL_MEDIUM_BLOB: 필드가 medium blob 타입인 경우
- MYSQL_LONG_BLOB: 필드가 long blob 타입인 경우
- MYSQL_TIMESTAMP: 필드가 timestamp 타입인 경우
- MYSQL_DATE: 필드가 date 타입인 경우
- MYSQL_TIME: 필드가 time 타입인 경우
- MYSQL_DATETIME: 필드가 datetime 타입인 경우
- MYSQL_YEAR: 필드가 year 타입인 경우
- MYSQL_NEWDECIMAL: 필드가 new decimal 타입인 경우
- MYSQL_ENUM: 필드가 enum 타입인 경우
- MYSQL_SET: 필드가 set 타입인 경우
위의 flag 중에서 실제로 사용되는 flag는 다음과 같습니다.
- MYSQL_PRI_KEY
- MYSQL_NOT_NULL
- MYSQL_NUM
- MYSQL_ZEROFILL
- MYSQL_UNSIGNED
- MYSQL_BINARY
- MYSQL_BLOB
- MYSQL_TIMESTAMP
- MYSQL_SET
- MYSQL_ENUM
- MYSQL_PART_KEY
- MYSQL_UNIQUE_KEY
- MYSQL_MULTIPLE_KEY
- MYSQL_NO_DEFAULT
- MYSQL_ON_UPDATE_NOW
- MYSQL_AUTO_INCREMENT
- MYSQL_NOT_NULL_KEY
- MYSQL_INDEX
- MYSQL_UNSIGNED_INT
- MYSQL_ZEROFILL_INT
- MYSQL_TINY
- MYSQL_SHORT
- MYSQL_LONG
- MYSQL_FLOAT
- MYSQL_DOUBLE
- MYSQL_DECIMAL
- MYSQL_TINY_BLOB
- MYSQL_MEDIUM_BLOB
- MYSQL_LONG_BLOB
- MYSQL_TIMESTAMP
- MYSQL_DATE
- MYSQL_TIME
- MYSQL_DATETIME
- MYSQL_YEAR
- MYSQL_NEWDECIMAL
- MYSQL_ENUM
- MYSQL_SET
위의 flag 중에서 실제로 사용되는 flag는 다음과 같습니다.
- MYSQL_PRI_KEY
- MYSQL_NOT_NULL
- MYSQL_NUM
- MYSQL_ZEROFILL
- MYSQL_UNSIGNED
- MYSQL_BINARY
- MYSQL_BLOB
- MYSQL_TIMESTAMP
- MYSQL_SET
- MYSQL_ENUM
- MYSQL_PART_KEY
- MYSQL_UNIQUE_KEY
- MYSQL_MULTIPLE_KEY
- MYSQL_NO_DEFAULT
- MYSQL_ON_UPDATE_NOW
- MYSQL_AUTO_INCREMENT
- MYSQL_NOT_NULL_KEY
- MYSQL_INDEX
- MYSQL_UNSIGNED_INT
- MYSQL_ZEROFILL_INT
- MYSQL_TINY
- MYSQL_SHORT
- MYSQL_LONG
- MYSQL_FLOAT
- MYSQL_DOUBLE
- MYSQL_DECIMAL
- MYSQL_TINY_BLOB
- MYSQL_MEDIUM_BLOB
- MYSQL_LONG_BLOB
- MYSQL_TIMESTAMP
- MYSQL_DATE
- MYSQL_TIME
- MYSQL_DATETIME
- MYSQL_YEAR
- MYSQL_NEWDECIMAL
- MYSQL_ENUM
- MYSQL_SET
2025-07-02 05:38