"15909434_user"와 같은 이름으로 테이블을 생성하려고 하면 "Table" 오류가 발생합니다. 또는 열 이름은 숫자로 시작할 수 없습니다." 이로 인해 이러한 규칙이 존재하는 이유에 대한 의문이 제기됩니다.
PostgreSQL 문서에 따르면 데이터베이스의 개체 이름은 문자 또는 밑줄로 시작하고 영숫자 및 숫자로 구성되어야 하는 "이름 유형"을 따릅니다.
이 제한을 우회하려면 큰따옴표를 사용하여 테이블 이름을 묶어 "인용 식별자"로 변환할 수 있습니다. 그러나 큰따옴표는 이름의 일부로 간주되지 않으며 63자 제한에 포함되지 않는다는 점에 유의하는 것이 중요합니다.
이 규칙의 이유는 원래 SQL 표준에서 비롯됩니다. 표준의 "식별자 시작" 블록은 식별자가 기본적으로 간단한 라틴 문자로 시작되어야 함을 지정합니다. 이 규칙은 SQL 해석기의 구문 분석 프로세스를 단순화합니다.
간단한 열 이름과 숫자 표현식을 모두 허용하는 SELECT 목록 절의 경우 이 규칙을 적용하면 파서가 둘을 구별하는 데 도움이 됩니다. 예를 들어 테이블 및 열 이름이 숫자로 시작하도록 허용된 경우 "2e2"는 열 이름과 유효한 숫자 표현식으로 해석될 수 있습니다.
식별자가 문자로 시작하는 규칙을 가짐으로써 파서는 테이블이나 열 이름이 아닌 "2e2"가 숫자 표현식이고 "3.4"가 숫자 값이라는 것을 빠르게 식별할 수 있습니다.
숫자 선행 문자를 허용하는 방식을 고안하는 동안 가능하더라도 규칙이 더 모호해지고 구문이 복잡해질 수 있습니다. 현재 규칙은 문제에 대한 명확하고 간단한 솔루션을 제공하여 효율적인 구문 분석을 보장하고 잠재적인 모호성을 방지합니다.
위 내용은 데이터베이스 테이블 또는 열 이름이 숫자로 시작할 수 없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!