sql - 使用插入语句 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')
谢谢
解决方案
您可能应该创建TRACKSEQ
一个自动增量列。首先删除当前TRACKSEQ
列,然后将其添加回来:
ALTER TABLE tbl_CommTrackingDROP COLUMN TRACKSEQ;
ALTER TABLE tbl_CommTracking ADD TRACKSEQ INT IDENTITY;
请注意,通常您还会创建TRACKSEQ
表的主键。如果您不想这样做,那没关系,但是您必须确保可以为该CLNTID
列生成自己的唯一值。
目前还不完全清楚你为什么需要这个;如果您只想要最新记录,请使用可用的日期/时间戳列,该列将在插入期间设置。
推荐阅读
- gitlab - 如何创建一个工件,以便它可以在 .gitlab-ci.yml 中下载
- c# - C#中varargin的设计解决方案
- javascript - 需要在算术级数中找到隐藏元素
- video - 为什么同一视频的不同帧大小不同?
- java - Mongo的自动增量功能无法将Long设置为_id?
- asp.net - 可以在 ASP.net 项目上重命名 ValuesController 类吗?
- vaadin8 - 使用 multipleFileUpload 时的 NPE
- c# - 从 IIS .Net ASP.Net 使用 AWS S3 API 时,对象引用未设置为对象的实例
- .htaccess - 如何仅从一个 URL 中删除 .php 扩展名?
- mysql - 如何使用 LIMIT 从 MYSQL 中选择数据包含一个具有值的元素,例如。1