如何正确使用alter modify?
How to use alter modify properly?
我有 table 这样的:
+--------+---------------+------+-----+---------+----------------+
| 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 | |
+--------+---------------+------+-----+---------+----------------+
和table的内容:
+--------+------+-------+------+----------+----------+-----------+
| 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 |
+--------+------+-------+------+----------+----------+-----------+
当我想(例如)将价格列放在颜色列之后时:
alter table car_table modify column price after color;
它说:
mysql> alter table car_table modify column price after color; ERROR
1064 (42000): You have an error in your SQL syntax; check the manual
that corresponds to your MySQL server version for the right syntax to
use near 'after color' at line 1
没用。怎么了?
使用下面的查询
您错过了包含数据类型,
ALTER TABLE car_table MODIFY price decimal(10,3) AFTER color;
我有 table 这样的:
+--------+---------------+------+-----+---------+----------------+
| 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 | |
+--------+---------------+------+-----+---------+----------------+
和table的内容:
+--------+------+-------+------+----------+----------+-----------+
| 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 |
+--------+------+-------+------+----------+----------+-----------+
当我想(例如)将价格列放在颜色列之后时:
alter table car_table modify column price after color;
它说:
mysql> alter table car_table modify column price after color; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'after color' at line 1
没用。怎么了?
使用下面的查询 您错过了包含数据类型,
ALTER TABLE car_table MODIFY price decimal(10,3) AFTER color;