왜 테이블이나 열 이름이 숫자로 시작할 수 없나요?
PostgreSQL에서 테이블이나 열과 같은 객체를 생성할 때 그들에게 이름을 부여하는 데 필요합니다. 이러한 이름은 숫자로 시작할 수 없다는 제한 사항을 포함하여 특정 기준을 충족해야 합니다.
제한 이유
이 규칙은 원래 SQL 표준에서 비롯되었습니다. 이는 식별자(객체 이름 포함)가 문자나 밑줄로 시작해야 함을 지정합니다. 이 디자인 결정은 주로 구문 분석을 단순화하기 위해 이루어졌습니다.
파싱 과제
식별자 시작으로 숫자 문자가 허용되면 SQL 구문에 모호성이 발생합니다. 예를 들어 다음 SELECT 목록 절에서는
SELECT 2e2 + 3.4 FROM ...
"2e2"가 테이블 이름을 나타내는지 아니면 숫자 표현식을 나타내는지 확실하지 않으며 "3.4"가 잠재적으로 숫자 값으로 해석될 수 있습니다. 또는 테이블 이름 "3" 및 열 이름 "4".
결론
이 제한을 적용하면 개체 이름과 기타 SQL 요소 간의 명확한 구분이 보장되어 구문 분석 프로세스가 더욱 효율적이고 명확해집니다. 사소한 제한처럼 보일 수도 있지만 SQL 언어 내에서 일관성과 사용 편의성을 유지하는 데 도움이 됩니다. 이 제한 사항을 해결하려면 다음 예와 같이 이름을 큰따옴표로 묶을 수 있습니다.
CREATE TABLE "15909434_user" ( ... )
위 내용은 PostgreSQL 테이블 또는 열 이름이 숫자로 시작할 수 없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!