首页 > 解决方案 > 使用插入语句 SQL 将数字加一

问题描述

我正在尝试手动将记录添加到 SQL 表中但是在此表中,我们有一个名为 Trackseq 的列,该列决定了如何在我们的 CMS 系统上查看数据。最高的 TrackSeq 将首先出现。我想手动添加一个新行,但我希望代码根据 CLNTID 检查当前 trackSeq 是什么并添加一个。因此,如果最后一条记录的 trackeq 为 10,我希望新记录的 trackeq 为 11。这是我的代码。

INSERT INTO tbl_CommTracking   (    CLNTID,
        TRACKSEQ,
        COMMDATE,
        COMMTIME,
    PRODCODE,
    COMMTYPE,
        EMPLOYEEID,
        COMMDETAILS,
        COMMSTATUS)
VALUES ('0000005566','999',GETDATE(),GETDATE(),'BS','Note','0000000786','Testing a manual import','A')

谢谢

标签: sqlinsertincrement

解决方案


您可能应该创建TRACKSEQ一个自动增量列。首先删除当前TRACKSEQ列,然后将其添加回来:

ALTER TABLE tbl_CommTrackingDROP COLUMN TRACKSEQ;
ALTER TABLE tbl_CommTracking ADD TRACKSEQ INT IDENTITY;

请注意,通常您还会创建TRACKSEQ表的主键。如果您不想这样做,那没关系,但是您必须确保可以为该CLNTID列生成自己的唯一值。

目前还不完全清楚你为什么需要这个;如果您只想要最新记录,请使用可用的日期/时间戳列,该列将在插入期间设置。


推荐阅读