为MySql中的SELECT子句的结果创建自动增量主键

时间:2011-11-16 11:52:37

标签: mysql sql

我有一个从SELECT子句的结果创建的表。有没有办法为每一行添加自动增量主键(例如1,2,3,...)我的查询如下所示:

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

我试图使用:

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

..但它不起作用。

3 个答案:

答案 0 :(得分: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)

答案 1 :(得分:0)

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

insert into @mytable (other_cols)
select * from otherTable

应该有用吗? (MSSQL语法)

答案 2 :(得分:0)

在MySQL中,您可以执行此查询:

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