Re: [請益] 如何更改mysql資料表的結構

看板PHP作者 (任性)時間14年前 (2010/06/24 01:55), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/5 (看更多)
※ 引述《FacetheFaith ( )》之銘言: : 例如本來資料表結構為~ : id : name : date : . : . : comment : 想要把它變成~ : id : comment : date : . : . : name : 有沒有快速的方法阿 : 因為如果要用 foreach($row as $value) echo {$value) : 勢必會依照資料表欄位的順序來呈現 : 但必須客製化, 所以不知道有沒有快速更改資料表欄位結構的方法? 基本上我遇到一些人都是建議更改 select 時候的欄位順序。 假設你是 MySQL 的話有個快速的方法: ALTER TABLE `table_name` MODIFY COLUMN `comment` varchar(10) AFTER `id`; 記得注意欄位型態以免掉資料。 如果你是其他資料庫的話: 1. 建一個資料表叫做 new_table_name,先依照你要的方式把欄位排好,然後 INSERT INTO `db_name`.`new_table_name` SELECT * FROM `db_name`.`table_name`; 接著 DROP TABLE `table_name`; RENAME TABLE `db_name`.`new_table_name TO `db_name`.`table_name`; 2. 這個比上面一個優雅一點 ALTER TABLE `table_name` ADD `comment2` VARCHAR(128) NULL AFTER `id`; UPDATE `table_name` set `comment2` = `comment`; ALTER TABLE `table_name` DROP `comment`; ALTER TABLE `table_name` CHANGE `comment2` `comment` VARCHAR(128); 如果你用 Oracle 的話,只能用建立 table 然後把舊的 drop 掉的那個方法, 至於 MSSQL 我就不知道了。還有這個應該問在 DB 板.. -- The Internet: where men are men, women are men, and children are FBI agents. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.220.104.63
文章代碼(AID): #1C8agALJ (PHP)
討論串 (同標題文章)
文章代碼(AID): #1C8agALJ (PHP)