2016-10-12 93 views
1

我想(直接)使用另一個表的2列中的內容生成表。如何更改列的名稱(在新表中重命名)?重命名SQL中的列

Here's一個例子:

CREATE TABLE X AS 
SELECT 
Table1.name, 
Table1.act 
FROM Y 

- >我不希望命名列「名」和「行爲」作爲原始表 - 我想有「名」所取代「客戶」和「行爲」的「狀態」

+4

'...選擇Table1.Name作爲客戶,表1。作爲狀態......「 – Siyual

回答

3

做這樣的:

CREATE TABLE X AS 
SELECT 
Table1.name as customer, 
Table1.act as status 
FROM Y 
2

你可以只在查詢中指定名稱的別名替換:

CREATE TABLE X AS 
SELECT 
Table1.name AS customer, 
Table1.act AS status 
FROM Y 

或者,你可以在表名後指定括號中的列定義:

CREATE TABLE X (customer VARCHAR(10), status VARCHAR(10)) AS 
SELECT 
Table1.name, 
Table1.act 
FROM Y 
1

您將需要使用一個while循環來做到這一點:

$my_query = "SELECT * FROM tj_ethnicity FROM Table_X"; 
while($row = mysql_fetch_assoc($my_query)) 
{  
    $new_query = "CREATE TABLE `."$row['customer']".` (
     `customerid` int(11) NOT NULL AUTO_INCREMENT, 
     `status` varchar(50) DEFAULT ."$row['status']"., 
     `created` datetime NOT NULL, 
     PRIMARY KEY (`customerid`) 
    )"; 

}