반응형
ID가 예약어가 아니거나 공백이 있는 경우 BACKTICS를 사용해야 하는 이유는 무엇입니까?
백틱에 에러는 없다.
DB [XXX]> create temporary table `123456e6` (`id` char (8));
Query OK, 0 rows affected (0.03 sec)
백틱을 사용하지 않을 때 오류 발생.
DB [XXX]> create temporary table 123451e6 (`id` char (8));
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '123451e6 (`id` char (8))' at line 1
제 식별자 123451e6은 여기 페이지와 같이 유효하며 예약어 또는 공백이 있거나 특수문자가 포함되어 있지 않습니다.
"숫자만" 규칙의 미묘한 케이스가 발생했습니다.
식별자는 숫자로 시작할 수 있지만 따옴표가 없는 한 숫자로만 구성되지 않을 수 있습니다.
그e
문자는 숫자의 과학적 표기법에 사용되며 MySQL은 123451e6을 "123451 * 106" 또는 123451000000으로 해석합니다."e" 이외의 문자는 문자열이 "not digits only" 규칙을 준수하며 따옴표 없이 사용할 수 있습니다.예:
MariaDB [db]> create temporary table 123451f6 (`id` char (8));
Query OK, 0 rows affected (0.02 sec)
그것은 유효하지 않다 왜냐하면 어떤 형태로든12345e6
는 수치(특히 이 예에서는 12345*106)로 평가됩니다.따라서 명시적으로 문자열로 표시해야 합니다.
언급URL : https://stackoverflow.com/questions/41907836/why-do-i-have-to-use-backticks-when-identifier-is-not-a-reserved-word-or-with-sp
반응형
'programing' 카테고리의 다른 글
Go에서 MySQL에 연결하는 권장 방법은 무엇입니까? (0) | 2023.02.02 |
---|---|
PHP에서 디렉토리와 그 콘텐츠(파일+서브디르) 전체를 반복적으로 삭제하려면 어떻게 해야 합니까? (0) | 2023.02.02 |
JavaScript를 사용하여 클릭을 시뮬레이션하는 방법 (0) | 2023.02.02 |
Wikidata에서 데이터의 JSON 또는 RDF 일괄 Import는 어떻게 합니까? (0) | 2023.02.02 |
MySQL 클라이언트가 내가 지정한 포트를 사용하지 않는 이유는 무엇입니까? (0) | 2023.02.02 |