Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL 테이블 이름의 최대 길이는 얼마일까? (64자 제한 완벽 정리)

MySQL 테이블 이름의 최대 길이

MySQL 8.0.12 버전을 기준으로, 테이블 이름(식별자)의 최대 길이는 64자입니다. 이 제한은 데이터베이스 이름, 컬럼 이름 등 다른 식별자에도 동일하게 적용됩니다.

먼저 현재 설치된 MySQL 버전을 확인해 보겠습니다.

mysql> select version();

위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.

+-----------+
| version() |
+-----------+
| 8.0.12 |
+-----------+
1 row in set (0.03 sec)

64자를 초과하는 테이블 이름 생성 시 오류 발생

테이블을 생성하는 시점에 이름 길이 제한을 직접 확인할 수 있습니다. 만약 64자를 초과하는 이름으로 테이블을 생성하려고 하면, 테이블이 생성되지 않고 오류가 발생합니다.

실제로 64자가 넘는 테이블 이름으로 생성을 시도해 보겠습니다.

mysql> create table tableNameDemotableableNameDemotableableNameDemotableableNameDemotable
-> (
-> id int
-> );
ERROR 1059 (42000): Identifier name 'tableNameDemotableableNameDemotableableNameDemotableableNameDemotable' is too long

위와 같이 식별자 이름(identifier)이 너무 길다는 의미의 ERROR 1059 오류가 발생하며, 테이블 생성에 실패합니다.

64자 이하의 테이블 이름은 정상적으로 생성됨

그렇다면 64자 이하의 이름은 정상적으로 작동할까요? 짧은 이름으로 테이블을 생성해 보겠습니다.

mysql> create table Demo
-> (
-> id int
-> );
Query OK, 0 rows affected (0.46 sec)

결과를 보면 Query OK 메시지와 함께 테이블이 성공적으로 생성되었습니다. 즉, 테이블 이름이 64자 이하이면 아무 문제 없이 정상적으로 작동합니다.

정리

  • MySQL에서 테이블 이름의 최대 길이는 64자입니다.
  • 64자를 초과하면 ERROR 1059 (42000) 오류가 발생하며 테이블이 생성되지 않습니다.
  • 64자 이하의 이름은 정상적으로 생성됩니다.