作者scorsese ()
看板Database
标题[SQL ] ALTER TABLE的MODIFY的问题。
时间Fri Apr 12 19:00:36 2013
今天在深入浅出SQL中拿了其练习解答来执行还是出现了问题:
习题要我们将这个表
+--------+------+---------+----------+-----------+
| color | year | make | mo | howmuch |
+--------+------+---------+----------+-----------+
| silver | 1998 | Prosche | Boxter | 17992.540 |
| NULL | 2000 | Jaguar | XJ | 15995.000 |
| red | 2002 | Cadilac | Escalade | 40215.900 |
+--------+------+---------+----------+-----------+
改成这个表
+--------+------+---------+----------+--------+------+----------+
| car_id | VIN | make | model | color | year | price |
+--------+------+---------+----------+--------+------+----------+
| 1 | NULL | Prosche | Boxter | silver | 1998 | 17992.54 |
| 2 | NULL | Jaguar | XJ | NULL | 2000 | 15995.00 |
| 3 | NULL | Cadilac | Escalade | red | 2002 | 40215.90 |
+--------+------+---------+----------+--------+------+----------+
以下是我的做法:
ALTER TABLE hooptie
RENAME TO car_table;
ALTER TABLE car_table
ADD COLUMN car_id INT NOT NULL AUTO_INCREMENT FIRST,
ADD PRIMARY KEY (car_id),
ADD COLUMN VIN VARCHAR(30) AFTER car_id,
CHANGE COLUMN mo model VARCHAR(20),
CHANGE COLUMN howmuch price DEC(7,2),
MODIFY COLUMN color VARCHAR(10) AFTER model,
MODIFY COLUMN year INT(4) sixth;
上面最後一行MODIFY的叙述不拿掉也会显示错误,无法执行。
将MODIFY的叙述修改资讯为:
MODIFY COLUMN year INT(4) BEFORE price; =>这也不行
最後改成
MODIFY COLUMN year INT(4) AFTER color
请问这是否代表,modify叙述要修改资料栏顺序时,
不接受'第几栏'或'在哪一栏之前(before)'
只接受'在哪一栏之後(after)'这样的指示吗?
可否请各位朋友给我一些指点?
感谢!
--
※ 编辑: scorsese 来自: 140.112.25.97 (04/12 19:49)
※ 编辑: scorsese 来自: 118.160.158.157 (04/13 12:56)