2013-12-11 2 views
1

FirebirdSql 데이터베이스의 대소 문자를 구분하지 않고, 데이터베이스가 아닌 완전한 테이블을 만들 수있는 방법이 있습니까? CharSet을 UTF8로 설정하고 각 열에서 COLLATE UNICODE_CI를 설정하는 방법을 알고 있지만 전체 데이터베이스를 수행 할 수있는 방법이 있는지 궁금해했습니다.FirebirdSql 대소 문자 구분하지 않음

+0

신경 쓰지 마라. 나는 그것을 발견했다. 이 스크립트를 사용 : ALTER CHARACTER SET utf8 set default collation unicode_ci_ai – edepperson

답변

0

당신은 기본 문자가 DDL을 사용하여 설정 변경을 지원하지 않습니다 create

CREATE {DATABASE | SCHEMA} 
    ... 
    [DEFAULT CHARACTER SET charset [COLLATION collation]] 

현재 파이어 버드 버전, 당신이 경우 시스템 테이블 업데이트를 할 필요가 데이터베이스의 기본 문자 세트 (조합을 포함한다)를 구성 할 수 있습니다 기존 데이터베이스에 대해이 작업을 수행하려고합니다.

특정 문자 집합이 정의되지 않은 경우 열 작성시 기본 문자 집합이 적용됩니다. 기본 문자 집합을 지정하지 않으면 NONE으로 설정됩니다 (기본적으로 : 모든 바이트 조합이 유효 함을 의미).

+0

내가 사용했던 스크립트가 작동하지 않습니까? – edepperson

+0

내가하고있는 일에 대해, 위의 제 의견에있는 스크립트가 작동합니다. 나는 테스트 케이스를 만든다. 이미 작성된 테이블이나 컬럼에는 적용되지 않지만 스크립트를 실행 한 후 작성하는 모든 컬럼이나 테이블은 대소.자를 구분하지 않습니다. – edepperson

+0

@edepperson 사실 모릅니다. 이 변경이 이루어진 후에 ** CHARACTER SET UTF8 **로 명시 적으로 생성 된 컬럼에만 적용될 것으로 생각됩니다. 또한 질의에서 문자열과 문자열 리터럴 간의 비교의 차이점을 조사하는 데주의하십시오! –

관련 문제