2017-01-19 4 views
0

내가 여기에, MySQL 데이터베이스에 일부 필드를 가져 오려는 내 가져 오기 파일입니다 오전에 실패MySQL을 가져 오기 ... DECIMAL

CREATE TABLE mytable(
zip  VARCHAR(7) NOT NULL PRIMARY KEY 
,lat  DECIMAL(10,8) NOT NULL 
,long  DECIMAL(11,8) NOT NULL 
,data  VARCHAR(3) NOT NULL 
); 
그것은 나에게 다음과 같은 오류를주고있다

...

check the manual that corresponds to your MySQL server version for the right syntax to use near 'long DECIMAL(11,8) NOT NULL ,data VARCHAR(3) NOT NULL)' at line 4 

그것은 내가 잘못 가고 DECIMAL 유형

로 설정하려고하고있는 long 필드를 좋아되지 않는 이유는 무엇입니까?

+0

단서는 오류 메시지에 있습니다. 오류는 항상 오류 메시지의 첫 번째 단어 (또는 바로 왼쪽)에 있습니다. https://dev.mysql.com/doc/refman/5.5/en/keywords.html – Strawberry

+1

덧붙여 말하자면, 산술 , VARCHAR (3)은 아마도 많은 의미를 가지지 않을 것입니다 (그러나 다시, 실제로 산술을 수행하지 않았습니다). – Strawberry

+0

당신은 전혀 정교 할 수 있습니까? 산술을하는 것이 무슨 뜻인지 잘 모르겠다. – fightstarr20

답변

3

long은 MySQL의 예약어입니다. 다음과 같이 이스케이프를 사용하여 시도해보십시오.

CREATE TABLE mytable 
(zip  VARCHAR(7) NOT NULL PRIMARY KEY 
,lat  DECIMAL(10,8) NOT NULL 
,`long` DECIMAL(11,8) NOT NULL 
,data  VARCHAR(3) NOT NULL 
); 

또는 더 나은 방법은 다른 이름을 사용해보십시오. 위도와 경도는 latlng 또는 latlon 일 수 있습니다.

+1

길게 사용하지 마십시오. 아무도하지 않으며, 지금 우리는 이유를 안다. – Strawberry

+0

고마워요, 저를 얼굴을 쭉쭉 응시하고있었습니다! 내 체크리스트에 키워드를 예약했는데 발견하지 못했습니다. – fightstarr20

관련 문제