我有一个表格,其中包含一个整数类型ID
列的数据(也是主键)。
当向表中添加新数据条目时,它应该获得一个新ID,而插入该对象的应用程序不知道该ID,但它应由数据库提供。例如,ID应分配为0,1,2,...
假设我有新条目的所有其他数据,我该怎么做插入?通常:
insert into T values(123, 'data');
但现在我不知道该放什么而不是123
- 您是否会在数据库中创建某种全局变量NEXTID
,每次在插入T
之前提供ID并查询/更新此值?
我搜索的是自动增量。
GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1)
使用{{1}}。我会接受一个答案,其中包括声明和插入的说明和SQL说明:)
答案 0 :(得分:0)
如果您正在使用sqlserver,那么创建标识类型列将解决此类目的 。
ALTER TABLE [dbo].[T] ADD [Column1] INT identity (1, 1)
对于像oracle这样的其他人,您可以使用简单的数据库序列。
答案 1 :(得分:0)
在MySQL中你可以使用
ALTER TABLE table_name ADD id INT AUTO_INCREMENT;
这会自动增加id列,您无需插入。