sql - 自动增量/身份可以检测值本身吗?

标签 sql sql-server excel increment identity

我有这张表ProcessList在哪里 TransactionID value 应该在添加行时自动增加。

我可以将数据从 Excel 文件导入到此表中。是否可以对其进行编码,以便自动检测开始增量的值?或者至少不使用硬代码,因为 Excel 可能包含我不知道的任意数量的行。

我不确定 SQL 中的 auto_increment 或 identity 函数是否更适合我打算做的事情?

ProcessList table

最佳答案

您必须决定的第一件事是,您的 EXCEL 数据中的现有 ID 值是否会被丢弃。

如果是:只需在插入时排除此列。数据库会自己添加一个运行ID。

如果否:您可以使用语句插入 ID 值

SET IDENTITY_INSERT ProcessList ON;

但是您必须确定,没有重新插入现有的 ID 值。

如果您想获得最高 ID 并自己执行插入逻辑,您可以使用
SELECT MAX(TransactionID) + 1 FROM ProcessList

关于sql - 自动增量/身份可以检测值本身吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32963386/

相关文章:

sql - SQL 查询中的条件Where 子句

sql - 避免在 SQL 插入中重复预定义的值

php - 在 PHP 中合并 XML

c - 使用 Excel C API (XLL)

sql - Cloudera 中计算的比率

sql-server - 在两个单独的 ADFv2 管道完成后执行脚本

c# - 如何知道哪个表阻止我使用 Entity Framework 6 删除行?

sql - 查询前最后一个价格并有详细记录

excel - Styles.xml 中没有 numFmt

vba - 如果多个条件匹配,则返回 true