개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.03.28 16:47

mysql_field_flags에 대한 이해가 필요합니다.

목록
  • 크래시헌터 3일 전 2025.03.28 16:47
  • 3
    1
저는 mysql_field_flags 함수를 사용하여 테이블 필드의 속성을 확인하고 싶습니다.
하지만 mysql_field_flags 함수의 매개변수와 반환 값에 대해 이해가 부족합니다.
mysql_field_flags 함수의 매개변수에는 필드 이름과 테이블 이름이 포함되나요?
또한 반환 값은 어떤 형식으로 출력되나요?
예를 들어, mysql_field_flags 함수를 사용하여 테이블의 필드 이름이 'id'인 필드의 속성을 확인하는 방법은 어떻게 되나요?

    댓글목록

    profile_image
    나우호스팅  3일 전



    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

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 8,037건 / 20 페이지

검색

게시물 검색