我有两个表让我们说table1有id,fname,lname,gender和table2有fname,lname。
table2包含一些数据。我想从table2中选择lname为" roy"的所有数据。并在表中插入一个递增的id值。但我不想使用触发器。无论如何要做到这一点。
答案 0 :(得分:1)
如果你有自动递增列id
,那么只需在执行插入时省略它,让数据库从序列中获取下一个值并将其分配给新插入的记录:
INSERT INTO table1 (fname, lname)
SELECT fname, lname
FROM table2
WHERE fname = 'roy'
如果你没有,那么你应该创建它,或使用最后一个值+ 1(不安全,不推荐)。
在不同的数据库中,创建自动递增列的方式不同:
SERIAL
IDENTITY