我有一个没有任何自动增量的表.我必须将数据插入此表,每次将ID递增1000.
所以我有
SELECT @maxId = Max(ID)
INSERT INTO TABLE1
(ID, DATA)
VALUES
(@maxId + 1000, DATA),
(@maxId + 2000, DATA),
(@maxId + 3000, DATA)
Run Code Online (Sandbox Code Playgroud)
而不是显式增加每个插入的ID,有没有办法让它'自动增量'.我不能使用其中之一LAST_INSERT_ID()或类似的东西,因为ID是以一种奇怪的方式创建的
您可以这样声明字段:
MyID INT IDENTITY (0,1000);
Run Code Online (Sandbox Code Playgroud)
这将自动将每条记录增加1000.
例如:
CREATE TABLE MyTable
(
MyID INT IDENTITY(0,1000),
SField VARCHAR(128)
);
INSERT INTO MyTable (SField) VALUES ('TEST');
INSERT INTO MyTable (SField) VALUES ('TEST1');
INSERT INTO MyTable (SField) VALUES ('TEST2');
SELECT * FROM MyTable
Run Code Online (Sandbox Code Playgroud)
将产生以下结果:
| MyID | SField |
-----------------
| 0 | TEST |
| 1000 | TEST1 |
| 2000 | TEST2 |
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
359 次 |
| 最近记录: |