source

최대 식별자 이름 길이를 늘리는 방법

lovecheck 2022. 11. 18. 21:30
반응형

최대 식별자 이름 길이를 늘리는 방법

테이블 이름, 열 이름, 색인 이름 등...MySQL(및 MariaDB)에서는 최대 64글자입니다.어떻게 하면 그것을 늘릴 수 있을까요?

여기에 복제: MySQL에서 열 이름의 최대 길이

MySQL 문서 여기: https://dev.mysql.com/doc/refman/5.7/en/identifiers.html

MariaDB 문서 여기: https://mariadb.com/kb/en/mariadb/identifier-names/

트러블 슈팅: Postgre로 전환SQL 및 재컴파일.

배경: 테이블 이름이 앞에 붙은 열 이름과 하위 프로젝트 이름이 앞에 붙은 테이블 이름.보통 프로젝트 이름은 짧지만, 두 개가 방금 충돌했고 적어도 한 개는 더 길어질 것입니다.

예를 들어:

/* One MySQL Instance for in-house applications called "MySQL" on port 3306.  
 * One MySQL schema (database / catalog) per application "intranet_website".
 * Several sub-project prefixes per application, example: "finance_"
 * Individual table-name: "invoice"
 * Specific column-name: "TotalAmount"  ****/
CREATE TABLE intranet_website.finance_invoice_tbl (
    -- ...
    finance_invoice_TotalAmount DECIMAL(20,2),  -- 27 chars
    -- ...
)

이는 과도한 것으로 보일 수 있지만 Java 명명 규칙 또는 단순한 규칙일 도 있습니다.그물.

com.companyname.intranetwebsite.finance.invoice.getTotalAmount() // 63 chars
IntranetWebsite.Finance.Invoice.GetTotalAmount() // 47 chars

주의: 열 앞에 테이블 이름을 붙이는 것은 제 선택이 아닙니다.단, 같은 테이블의 재결합 없이 결합하는 경우에는 이 방법이 거의 도움이 되지 않는 경우가 있습니다.이러한 접두사로 인해 SQL 코드를 코드 작성하기 훨씬 쉬운 구체적인 예를 하나 이상 알고 있습니다.

다른 사람들이 이미 댓글로 제안했듯이 그것은 아마 불가능할 것이다.

, 이렇게 필요는 없습니다.

SQL은 다음을 제공하기 때문에 테이블 이름 앞에 열 이름을 입력할 필요가 없습니다.tablename.columname열을 구분하는 데 사용할 수 있는 구문입니다.사실, 제가 아는 대부분의 프로그래머들은 각 컬럼 이름에 해당 컬럼이 속한 테이블의 이름을 붙이는 것은 매우 성가신 일이라는 것에 전적으로 동의할 것입니다.

또한 테이블 이름 앞에 프로젝트 이름을 붙일 필요도 없습니다. 왜냐하면 테이블 이름 앞에 프로젝트 이름 앞에 프로젝트 이름/스키마가 있기 때문입니다.또한 대부분의 RDB는MS는catalogname.tablename구문을 사용합니다.테이블을 공유하는 프로젝트가 여러 개 있고 RDBMS가 크로스 카탈로그 관계를 지원하지 않는 경우 프로젝트 리팩터링 문제 또는 RDB 선택지가 있는 것을 권장합니다.MS 문제, 테이블 명명 문제가 아닙니다.

또한 64자 ID가 짧다고 생각되는 경우 Oracle을 사용해 보십시오.오, 당신이 즐길 수 있는 즐거움!

언급URL : https://stackoverflow.com/questions/44167534/how-to-increase-maximum-identifier-name-length

반응형