Re: [請益] 如何更改mysql資料表的結構
※ 引述《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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 5 篇):