2016-11-22 3 views
0

나는 아래와 같이 테이블을 만들고 싶다.mysql이 테이블을 만들 때 왜이 오류가 발생 했습니까?

create table android_data ( 
    index int unsigned primary key AUTO_INCREMENT, 
    phone int not null, 
    sensorID int not null, 
    press int not null, 
    temp int not null, 
    accel int not null, 
    gps_lat double not null, 
    gps_lng double not null, 
    time timestamp default current_timestamp on update current_timestamp 
    )engine=innodb; 

하지만

index int unsigned primary key AUTO_INCREMENT, 
     phone int not null, 

이 설명서에 잘못 왜 이해하지 못할에 오류가 발생했습니다 ....

내가 바로 테이블을 만들기 위해 무엇을해야합니까?

+0

은 흠 .... 내가 "ID가" "인덱스"보다 더 나은 생각 .... 지수는 당신이 index''''같은 역 따옴표에 예약 된 키워드를 삽입해야합니다 MySQL의 – barudo

+0

에서 예약어입니다 필드 이름으로 사용하십시오. –

답변

1

색인은 MySQL의 예약어입니다.

create table android_data ( 
    `index` int unsigned primary key AUTO_INCREMENT, 
    ... 
) 

을하지만 이상적으로 당신은 당신이 이미 본 바로 그 이유 MySQL의 키워드를 사용하여 테이블과 열 이름을 지정하지 않도록해야합니다 : 당신이 당신의 기본 키 이름을 지정해야하는 경우 index 당신은 역 따옴표에 넣어해야합니다.

MySQL keywords