>  기사  >  데이터 베이스  >  테이블 이름에 대시를 사용할 때 MySQL에서 오류가 발생하는 이유는 무엇입니까?

테이블 이름에 대시를 사용할 때 MySQL에서 오류가 발생하는 이유는 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-16 18:17:03870검색

Why Does MySQL Throw an Error When Using Dashes in Table Names?

MySQL 테이블 이름에 대시 사용: 일반적인 함정

MySQL 데이터베이스로 작업할 때 특정 작업을 수행할 때 오류가 발생할 수 있습니다. 대시가 포함된 테이블 이름입니다. 이 오류는 기본적으로 테이블 이름의 경우와 같이 따옴표가 없는 식별자에는 대시가 허용되지 않기 때문에 발생합니다.

이 오류의 일반적인 예는 데이터베이스 백업 중에 발생합니다. "temp_01-01-000001"이라는 테이블이 있고 그 테이블에서 데이터를 선택하려고 하면 다음과 같은 오류가 발생할 수 있습니다.

Error Number: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-01-000001' at line 1
SELECT * FROM temp_01-01-000001

이 오류는 MySQL이 테이블 이름을 올바르게 식별할 수 없음을 나타냅니다. 대시의 존재. 이 문제를 해결하려면 테이블 이름을 백틱(`)으로 묶어 특수 문자가 포함된 식별자임을 나타내야 합니다.

수정된 쿼리는 다음과 같습니다.

SELECT * FROM `temp_01-01-000001`

테이블 이름 주위에 백틱을 추가함으로써 MySQL은 그것이 단순한 문자열이 아니라 특수 식별자임을 명시적으로 알립니다. 이렇게 하면 MySQL이 테이블 이름을 올바르게 해석하고 오류 없이 쿼리를 실행할 수 있습니다.

테이블 이름에 특수 문자를 사용하지 않는 것이 항상 모범 사례라는 점을 기억하세요. 특수 문자를 사용하면 호환성 문제와 오류가 발생할 수 있습니다. 다양한 데이터베이스 작업. 그러나 상황에 따라 대시를 사용해야 하는 경우 백틱과 함께 테이블 이름을 인용하는 것이 이 문제를 해결할 수 있는 신뢰할 수 있는 솔루션입니다.

위 내용은 테이블 이름에 대시를 사용할 때 MySQL에서 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.