top
Loading...
A.7.2.如何更改表中的列順序
A.7.2. 如何更改表中的列順序

首先,請考慮是否的確需要更改表中的列順序。SQL的核心要點是從數據存儲格式獲取應用。總應指定檢索數據的順序。在下面的第1條語句中,以col_name1col_name2col_name3順序返回列;在第2條語句中,以col_name1col_name3col_name2順序返回列:

mysql> SELECT col_name1, col_name2, col_name3 FROM tbl_name;
mysql> SELECT col_name1, col_name3, col_name2 FROM tbl_name;

如果決定更改表列的順序,可執行下述操作:

  1. 用具有新順序的列創建新表。
  2. 執行該語句:
mysql> INSERT INTO new_table
    -> SELECT columns-in-new-order FROM old_table;
  1. 撤銷或重命名old_table
  2. 將新表重命名為原始名稱:
mysql> ALTER TABLE new_table RENAME old_table;

SELECT *十分適合于測試查詢。但是,在應用程序中,永遠不要依賴SELECT *的使用,不要依賴根據其位置檢索列。如果添加、移動或刪除了列,所返回的列的順序和位置不會保持相同。對表結構的簡單更改也會導致應用程序失敗。

作者:mysql.com
來源:http://dev.mysql.com/doc/refman/5.1/zh/problems.html
北斗有巢氏 有巢氏北斗