我的问题是
如何将列的值增加1。
例如,假设一列 ID
的值为 1、2、3、4,...
现在当我更新这个表时,ID
列应该增加1,
现在 ID
将变为 2、3、4、5,...
我的问题是
如何将列的值增加1。
例如,假设一列 ID
的值为 1、2、3、4,...
现在当我更新这个表时,ID
列应该增加1,
现在 ID
将变为 2、3、4、5,...
如果你想自动生成每行的唯一编号,可以按照Neil的回答使用IDENTITY。
如果每次更新表格时你想增加这些值(即它们不是键):
Update MyTable
Set IDColumn = IDColumn + 1
Where <whatever>
试试这个:
Update Emp set testCount = ISNULL(testCount, 0) + 1 where testId=1
已接受答案的更新
可能更简短,像这样。
UPDATE myTable
SET ID += 1
WHERE <Condition>
对于PostgreSQL
UPDATE myTable SET ID = COALESCE(id, 0) + 1;
DECLARE @i INT
SET @i = @@ROWCOUNT + 1
INSERT INTO YourTable
(Identity Column)
VALUES
(@i + 1)
IDENTITY
,它会为你完成这个任务。CREATE TABLE [dbo].[MyTable](
[MyTableID] [int] IDENTITY(1,1) NOT NULL,
-- Other columns
)
Id
为1。IDENTITY
可能已经在第一时间以不同的方式解决了这个问题,因为OP的数字可能是递增标识的反向。 - Chris SchallerCREATE SEQUENCE seq_person
MINVALUE 1
START WITH 1
INCREMENT BY 1
CACHE 10
INSERT INTO Persons (ID,FirstName,LastName)
VALUES (seq_person.nextval,'Lars','Monsen')