[SQL] H2 데이터베이스 열 이름 "그룹은"예약 된 단어입니다
SQLH2 데이터베이스 열 이름 "그룹은"예약 된 단어입니다
어떻게 열 이름을 GROUP과 H2의 테이블을 만들려면 어떻게해야합니까? 그 [*]는 같이 사용 무언가 얼마 전에 예를 보았다,하지만 난 그것을 찾을 수 없습니다.
해결법
-
==============================
1.뒤에 밑줄을 추가 GROUP_를
뒤에 밑줄을 추가 GROUP_를
어떤 키워드가 이제까지 뒤에 밑줄이없는 것이라는 SQL 사양은 명시 적으로 약속 †. 당신이 보장된다 그래서 어떤 당신이 선행 또는 후행 밑줄로 만들 명명 것이다 결코에서 충돌 키워드 또는 예약 된 단어.
나는 뒤에 밑줄 데이터베이스 등 내 모든 열, 제약, 이름을 지정합니다. 처음에는 조금 이상한 것 같다,하지만 당신은 그것을보고 익숙해. 알고 보니 좋은 부작용을 가지고 : 모든 프로그램뿐만 아니라 메모와 이메일, 난 프로그래밍 변수 또는 비즈니스 용어는 달리 문맥 데이터베이스 알고 밑줄 내가 후행를 볼 때.
또 다른 장점은 마음의 평화이다. 이러한 구호 인해 키워드 충돌 가능한 버그와 이상한 문제의 전체 클래스를 제거합니다. 당신이 생각이 경우 "별거 - 몇 가지 SQL 키워드 암기 피하기 위해를 무슨"다시 생각하지 않습니다. 엄청나게 많은 키워드 및 예약어, 천 이상되는 엄청나게 많은 수 있습니다.
시바에 의해 대답은 물론 올바른 : 이름, "그룹"주위에 따옴표를 추가, 문제를 해결한다. 단점은 그 따옴표를 추가 기억하는 것은 무심하고 귀찮은 될 것입니다.
또한 팁 : 다양한 SQL 데이터베이스에서 최대의 호환성을 위해, 모두 소문자로 당신의 이름을. 는 SQL 사양은 모든 이름은 용납 소문자 동안 대문자로 저장해야한다고 말한다. 그러나 불행하게도 일부 (대부분?) 데이터베이스는 그 점에서 사양에 따라 실패합니다. 다양한 데이터베이스의 공부 시간 후, 나는 모든 소문자는 당신에게 최대 휴대 성을 제공한다는 결론을 내렸다.
실제로 제안 그래서 당신은 당신의 열 이름 : GROUP_를
여러 단어 이름은 다음과 같이 : given_name_ 및 date_of_first_contact_
이 저작권이 보호이기 때문에 † 나는 불행하게도 SQL 사양을 인용 할 수 없다. 는 SQL에서 2011 사양, 그냥 작동 단어 밑줄 검색 제목 구문 규칙 항목 3 주 (111)에서 SQL-92 항을 참조 5.2, 항목 11에서 5.4 이름 및 식별자를 참조하십시오.
-
==============================
2.당신과 같이 따옴표로 예약 된 단어 열 이름을 둘러싸고해야
당신과 같이 따옴표로 예약 된 단어 열 이름을 둘러싸고해야
"그룹"
소스 (직접 링크) : h2database.com
-
==============================
3.나는 한계라는 변수 이름을 사용하고 있었다 밝혀졌다 JPA에 의해 생성 된 SQL이 문제를 ... 떠올라 요.
나는 한계라는 변수 이름을 사용하고 있었다 밝혀졌다 JPA에 의해 생성 된 SQL이 문제를 ... 떠올라 요.
Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement "CREATE TABLE EXPENSE_LIMIT (ID BIGINT NOT NULL, LIMIT[*] DECIMAL(19,2), ACCOUNT_ID BIGINT, EXPENSE_CATEGORY_ID BIGINT, PERIOD_ID BIGINT, PRIMARY KEY (ID)) "; expected "identifier"; SQL statement:
어디 내 모델 클래스는 한계라는 필드를했다. 그건 그냥 바보 버그
from https://stackoverflow.com/questions/19758467/h2-database-column-name-group-is-a-reserved-word by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 맞춤법의 차이와 유사한 단어를 인식하는 방법 (0) | 2020.05.29 |
---|---|
[SQL] 오라클에서 밀리 초에 타임 스탬프 사이의 차이 (0) | 2020.05.29 |
[SQL] C #하는 SqlCommand - 어떻게 해결에 열 이름에 대한 매개 변수를 사용할 수없는 이유는 무엇입니까? (0) | 2020.05.29 |
[SQL] T-SQL은 : 이메일 형식 검사 (0) | 2020.05.29 |
[SQL] 그들이 삽입 된 정확한 순서로 반환 행 (0) | 2020.05.29 |