2016-10-12 24 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`) 
    )"; 

}