今天在深入淺出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)