插入数据时添加自动增量

时间:2016-09-26 19:43:47

标签: postgresql oracle11g sql-server-2012

我有两个表让我们说table1有id,fname,lname,gender和table2有fname,lname。

table2包含一些数据。我想从table2中选择lname为" roy"的所有数据。并在表中插入一个递增的id值。但我不想使用触发器。无论如何要做到这一点。

1 个答案:

答案 0 :(得分:1)

如果你有自动递增列id,那么只需在执行插入时省略它,让数据库从序列中获取下一个值并将其分配给新插入的记录:

INSERT INTO table1 (fname, lname)
  SELECT fname, lname
  FROM table2
  WHERE fname = 'roy'

如果你没有,那么你应该创建它,或使用最后一个值+ 1(不安​​全,不推荐)。

在不同的数据库中,创建自动递增列的方式不同: