2016-04-26 3 views
0

Ich habe Tabelle wie folgt aus:Wie benutze alter modify richtig?

+--------+---------------+------+-----+---------+----------------+ 
| Field | Type   | Null | Key | Default | Extra   | 
+--------+---------------+------+-----+---------+----------------+ 
| car_id | int(11)  | NO | PRI | NULL | auto_increment | 
| vin | varchar(20) | YES |  | NULL |    | 
| color | varchar(10) | YES |  | NULL |    | 
| year | varchar(4) | YES |  | NULL |    | 
| make | varchar(10) | YES |  | NULL |    | 
| model | varchar(15) | YES |  | NULL |    | 
| price | decimal(10,3) | YES |  | NULL |    | 
+--------+---------------+------+-----+---------+----------------+ 

und den Inhalt der Tabelle:

+--------+------+-------+------+----------+----------+-----------+ 
| car_id | vin | color | year | make  | model | price  | 
+--------+------+-------+------+----------+----------+-----------+ 
|  1 | NULL | gray | 1998 | Porsche | Boxter | 17992.540 | 
|  2 | NULL | NULL | 2000 | Jaguar | XJ  | 15995.000 | 
|  3 | NULL | red | 2002 | Cadillac | Escalade | 40215.900 | 
+--------+------+-------+------+----------+----------+-----------+ 

, wenn ich will (zum Beispiel) Preisspalte nach der Farbspalte setzen:

alter table car_table modify column price after color; 

es heißt:

mysql> alter table car_table Spaltenpreis nach Farbe ändern; FEHLER 1064 (42000): Sie haben einen Fehler in Ihrer SQL-Syntax; das Handbuch , die für die richtige Syntax zu Verwendung in der Nähe von ‚nach Farbe‘ in Zeile 1

es funktioniert nicht auf Ihre MySQL-Server-Version entspricht. Was ist los mit dir?

+1

Mögliche Duplikat von [Wie Spalten in einer MySQL-Tabelle verschieben?] (Http://stackoverflow.com/questions/6805426/ how-to-move-columns-in-a-mysql-table) – fedorqui

+1

Vergessen Sie nicht, den Datentyp der zu verschiebenden Spalte anzugeben. – rhavendc

Antwort

1

die unter Abfrage verwenden Sie verpasst haben, den Datentyp gehören,

ALTER TABLE car_table MODIFY price decimal(10,3) AFTER color;