programing

MySQL 테이블 열 이름을 지정하는 데 숫자를 사용할 수 있습니까?

powerit 2023. 10. 25. 23:49
반응형

MySQL 테이블 열 이름을 지정하는 데 숫자를 사용할 수 있습니까?

저는 25, 50, 100 등의 열 이름을 가진 표를 가지고 있습니다.

테이블을 업데이트하려고 하면 어떻게 해도 오류가 발생합니다.

UPDATE table SET '25'='100' WHERE id = '1'

저는 모든 방법으로 인용과 역선택을 시도했지만 성공하지 못했습니다.

오류는 항상 다음 항목을 따릅니다.

SQL 구문에 오류가 있습니다. MySQL 서버 버전에 해당하는 설명서에서 1행의 '25'=100WHERE id=1' 근처에서 사용할 올바른 구문을 확인하십시오.

열 이름을 다음으로 변경하면twentyfive- 문제는 없지만 제가 원하는 건 그게 아니에요.숫자를 열 이름으로 사용할 수 있습니까?

문서에서:

식별자는 숫자로 시작할 수 있지만 따옴표로 묶지 않는 한 숫자로만 구성되지 않을 수 있습니다.

즉, '25'와 같은 백틱으로 따옴표를 붙여야 합니다.

UPDATE table SET `25`='100' WHERE id='1'

다른 사람들이 말했듯이 테이블, 열 등의 이름을 뒤로 붙일 수 있습니다.을 뒤로 젖히지 않도록 해야 합니다. 그렇지 않으면 열 이름으로 해석됩니다.예에서는 25개만 다시 체크 표시하면 됩니다.

UPDATE table SET `25`=100 WHERE id=1

어떤 이유로 인해 숫자를 기준으로 할 필요가 있다면 모든 경우(예: "col25", "col87" 등)에 숫자에 간단한 접두사를 추가할 수 있습니다.

여기서 확인하세요: http://dev.mysql.com/doc/refman/5.0/en/identifiers.html

식별자는 숫자로 시작할 수 있지만 따옴표로 묶지 않는 한 숫자로만 구성되지 않을 수 있습니다.

네, 할 수 있습니다. 이름 주변에 백틱을 사용해야 합니다.

MySQL의 이름은 숫자로 시작할 수 있지만 전체 숫자는 될 수 없습니다. 정수와 혼동할 수 없습니다.그래서 아니에요.

그리고 식별자를 숫자로 시작하는 경우, 많은 숫자(대부분?)가 MySQL을 고수하고 있음을 확신해야 합니다.다른 데이터베이스 엔진은 열 이름 앞에 알파벳 문자가 필요합니다.

(댓글에 나와 있듯이 백틱 문자를 일관되게 사용하는 경우 완전 정수 열 이름이 허용됩니다. 백틱을 시도했지만 구문 오류가 발생한 경우 사용한 정확한 백틱 구문을 게시하십시오.)

물론 정수 이름의 열을 선택하면 읽기 어려운 SQL을 생성할 수 있습니다.

언급URL : https://stackoverflow.com/questions/7975417/can-a-number-be-used-to-name-a-mysql-table-column

반응형