2011-11-16 57 views
0

我有一個從SELECT子句的結果創建的表。有沒有辦法來自動增量主鍵添加到每一行(如1,2,3,...)我的查詢看起來是這樣的:在MySql中爲SELECT子句的結果創建自動增量主鍵

CREATE TABLE tableA As(SELECT...some queries); 

我試着使用:

ALTER TABLE tableA ADD PRIMARY KEY (int NOT NULL AUTO_INCREMENT); 

。但它沒有工作。

回答

0

在MySQL中,你可以執行這個查詢:

ALTER TABLE tableA ADD COLUMN id INT NOT NULL AUTO_INCREMENT, 
ADD PRIMARY KEY (id); 
+0

這是完美的,謝謝! – Best

+0

還有一件事,我該如何安排id列到表格的最左邊位置? – Best

+1

'ALTER TABLE tableA MODIFY COLUMN id INT NOT NULL AUTO_INCREMENT FIRST;' –

1

的步驟,你可以遵循的

Create Table with Auto Increment Primary Key and all other columns 

CREATE TABLE table (
    id MEDIUMINT NOT NULL AUTO_INCREMENT, 
    col1 CHAR(30) NOT NULL, 
    col2 CHAR(30) NOT NULL, 
    PRIMARY KEY (id) 
) ENGINE=XYZ; 

Now use Insert Query 

Inset Into Table (col1, col2) 
(Select col1,col2 
//rest of the query) 
+0

感謝但這是整個查詢? – Best

+0

@最佳整個查詢取決於您的列名e.t.c.但是,是的,這是完整的解決方案。只需首先創建表格,然後插入行,而不是同時進行。 – Zohaib

0
declare @mytable table (id int identity(1,1), other_cols_needed) 

insert into @mytable (other_cols) 
select * from otherTable 

應該工作? (MSSQL語法)