테이블, 컬럼, 인덱스와 같은 각 데이터베이스 객체에는 이름이 있습니다. SQL 문에서 이러한 이름을 객체 식별자라고 합니다. 식별자는 인용 부호로 감싸거나 감싸지 않고 사용할 수 있습니다. 식별자에 특수 문자나 예약 키워드가 포함되어 있으면 해당 식별자를 참조할 때마다 백틱(`)으로 감싸야 합니다. 예약 키워드에 대한 자세한 내용은 예약 키워드 섹션을 참조하세요.
객체 식별자 제한 사항
Doris에서는 enable_unicode_name_support 변수를 통해 객체 식별자의 Unicode 문자 지원 여부를 제어할 수 있습니다. Unicode 문자 지원을 활성화하면 식별자에 Unicode에 포함된 모든 언어의 문자를 사용할 수 있습니다. 다만 문장 부호와 기타 문자는 허용되지 않습니다.
Doris에서는 객체마다 식별자에 적용되는 제한 사항이 다릅니다. 객체별 구체적인 제한 사항은 아래와 같습니다.
테이블 이름
| 모드 | 식별자 제한 사항 |
|---|
| Unicode 비활성화 모드 | ^[a-zA-Z][a-zA-Z0-9\\-_]*$ |
| Unicode 활성화 모드 | ^[a-zA-Z\\p{L}][a-zA-Z0-9\\-_\\p{L}]*$ |
컬럼 이름
| 모드 | 식별자 제한 사항 |
|---|
| Unicode 비활성화 모드 | ^[.a-zA-Z0-9_+\\-/?@#$%^&*\"\\s,:]{1,256}$ |
| Unicode 활성화 모드 | ^[.a-zA-Z0-9_+\\-/?@#$%^&*\"\\s,:\\p{L}]{1,256}$ |
OUTFILE 이름
| 모드 | 식별자 제한 사항 |
|---|
| Unicode 비활성화 모드 | ^[_a-zA-Z][a-zA-Z0-9\\-_]{0,63}$ |
| Unicode 활성화 모드 | ^[_a-zA-Z\\p{L}][a-zA-Z0-9\\-_\\p{L}]{0,63}$ |
사용자 이름
| 모드 | 식별자 제한 사항 |
|---|
| Unicode 비활성화 모드 | ^[a-zA-Z][a-zA-Z0-9.\\-_]*$ |
| Unicode 활성화 모드 | ^[a-zA-Z\\p{L}][a-zA-Z0-9.\\-_\\p{L}]*$ |
LABEL 이름
| 모드 | 식별자 제한 사항 |
|---|
| Unicode 비활성화 모드 | ^[-_A-Za-z0-9:]{1,N}$, 여기서 N은 FE의 label_regex_length 설정에 따라 결정되며 기본값은 128입니다. |
| Unicode 활성화 모드 | ^[\\-_A-Za-z0-9:\\p{L}]{1,N}$, 여기서 N은 FE의 label_regex_length 설정에 따라 결정되며 기본값은 128입니다. |
| 모드 | 식별자 제한 사항 |
|---|
| Unicode 비활성화 모드 | ^[a-zA-Z][a-zA-Z0-9\\-_]{0,63}$ |
| Unicode 활성화 모드 | ^[a-zA-Z\\p{L}][a-zA-Z0-9\\-_\\p{L}]{0,63}$ |