自动递增/身份可以检测值本身吗?
Auto increment/ Identity possible to detect values itself?
我有这个 table ProcessList
其中 TransactionID
值应该在添加行时自动递增。
我可以将数据从 Excel 文件导入到此 table。是否可以对其进行编码,以便自动检测到开始增量的值?或者至少不使用硬代码,因为 Excel 可能包含我不知道的任意数量的行。
我不确定 auto_increment 或 SQL 中的身份函数是否更适合我打算做的事情?
您首先要决定的是,是否可以丢弃 EXCEL 数据中的现有 ID 值。
如果是:只需在插入时排除此列。数据库会自己添加一个运行 ID。
如果否:您可以使用语句
插入 ID 值
SET IDENTITY_INSERT ProcessList ON;
但是您必须确定,没有重新插入现有的 ID 值。
如果您想获得最高 ID 并自己执行插入逻辑,您可以使用
SELECT MAX(TransactionID) + 1 FROM ProcessList
使用 Identity(x,y) 你可以说出增量从哪里开始 (y)。你是这个意思吗?
我有这个 table ProcessList
其中 TransactionID
值应该在添加行时自动递增。
我可以将数据从 Excel 文件导入到此 table。是否可以对其进行编码,以便自动检测到开始增量的值?或者至少不使用硬代码,因为 Excel 可能包含我不知道的任意数量的行。
我不确定 auto_increment 或 SQL 中的身份函数是否更适合我打算做的事情?
您首先要决定的是,是否可以丢弃 EXCEL 数据中的现有 ID 值。
如果是:只需在插入时排除此列。数据库会自己添加一个运行 ID。
如果否:您可以使用语句
插入 ID 值SET IDENTITY_INSERT ProcessList ON;
但是您必须确定,没有重新插入现有的 ID 值。
如果您想获得最高 ID 并自己执行插入逻辑,您可以使用
SELECT MAX(TransactionID) + 1 FROM ProcessList
使用 Identity(x,y) 你可以说出增量从哪里开始 (y)。你是这个意思吗?