2016-11-22 2 views
0

Ich möchte nur eine Marke Tabelle wie unten.Warum dieser Fehler in MySQL eine Tabelle erstellen?

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; 

Aber ich habe einen Fehler in

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

Ich kann nicht verstehen, warum dies mit manueller falsch ist ....

Was soll ich tun, rechte Tabelle machen ??

+0

hmmmm .... Ich denke, "id" ist besser als "Index" .... Index ist ein reserviertes Wort in mysql – barudo

+0

Sie reservierte Schlüsselwörter in Backticks wie '' index'' setzen müssen verwende sie als Feldname –

Antwort

1

Index ist ein reserviertes Schlüsselwort in MySQL. Wenn Sie Ihren Primärschlüssel Name muss index sollten Sie es in Backticks setzen:

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

Aber im Idealfall sollten Sie vermeiden, Tabellen und Spalten mit MySQL Schlüsselwörter aus dem Grund zu benennen Sie bereits gesehen haben.

MySQL keywords

Verwandte Themen