
mysql_field_flags 함수의 매개변수는 필드 인덱스만 필요합니다. 필드 이름과 테이블 이름은 필요하지 않습니다. 필드 인덱스는 mysql_fetch_field 함수를 사용하여 얻을 수 있습니다.
mysql_field_flags 함수의 반환 값은 필드의 속성을 나타내는 비트 마스크입니다. 반환 값은 다음과 같은 비트 마스크 중 하나를 나타낼 수 있습니다.
- FIELD_NOT_NULL (0x0001): 필드가 NULL 허용되지 않은 경우
- FIELD_PRI_KEY (0x0002): 필드가 기본 키인 경우
- FIELD_KEY (0x0004): 필드가 외래 키인 경우
- FIELD_UNIQUE (0x0008): 필드가 고유한 경우
- FIELD_MULTIPLE_KEY (0x0010): 필드가 다중 키인 경우
- FIELD_BULK_OK (0x0020): 필드가 bulk insert에 허용된 경우
- FIELD_AUTO_INCREMENT (0x0040): 필드가 자동 증가인 경우
- FIELD_FIX_WIDTH (0x0080): 필드가 고정 길이인 경우
- FIELD_PART_KEY (0x0100): 필드가 부분 키인 경우
- FIELD_NUM (0x0200): 필드가 숫자인 경우
- FIELD_UNSIGNED (0x0400): 필드가 부호가 없는 경우
- FIELD_ZEROFILL (0x0800): 필드가 자릿수 채우기인 경우
- FIELD_BINARY (0x1000): 필드가 이진 데이터인 경우
- FIELD_BLOB (0x2000): 필드가 BLOB 데이터인 경우
- FIELD_TIMESTAMP (0x4000): 필드가 timestamp 데이터인 경우
예를 들어, 테이블의 필드 이름이 'id' 인 필드의 속성을 확인하려면 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
php
$result = mysql_query("SELECT * FROM 테이블 이름");
$field = mysql_fetch_field($result);
$flags = mysql_field_flags($field->table, $field->name);
if ($flags & FIELD_NOT_NULL) {
echo "필드가 NULL 허용되지 않습니다.n";
}
if ($flags & FIELD_PRI_KEY) {
echo "필드가 기본 키입니다.n";
}
// ...
위 예제는 필드의 속성을 확인하여 그에 따라 메시지를 출력합니다.
2025-03-28 16:48