将一个表插入到另一个表中,不带一列

时间:2013-10-31 10:02:10

标签: sql postgresql

表名Test字段id Name age city

 | ID   |   NAME    |  AGE    |  CITY   |
 |  1   | raja      |  20     |  abc    |
 |  2   | raju      |  32     |  abcd   |

ID为Primary key

现在我想要插入3条目复制2条目,ID为3,而不指定列名。

示例条目:

|  3  | raju | 32  | abcd | 

像:

 insert into Test select 3,(get value with out id and don't specify the columns name) from test where id=2

有可能吗?如果它可能如何做或者告诉任何可行的解决方案?

版本: Postgresql 9.3

2 个答案:

答案 0 :(得分:1)

我假设id列也是AUTO INCREMENT。

INSERT INTO Test SELECT Name, age, city FROM test WHERE id=2

修改

你也应该这样做,因为你的id列是PRIMARY KEY和AUTO INCREMENT:

INSERT INTO Test(Name, age, city) SELECT * FROM test WHERE id=2

答案 1 :(得分:1)

是的,你可以在不指定任何列名的情况下添加:

INSERT INTO Table_name like you have (Test)
VALUES(val1, val2, val3,...);

INSERT INTO Test
VALUES(3, raju, abcd);