You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何向仅含自增主键的SQL表中插入行以生成新ID

报错原因

你的插入语句触发错误有两个核心原因:

  • 被IDENTITY标记的自增列默认不需要、也不允许手动插入值,数据库会自动为该列分配递增的唯一值
  • 主键列强制要求非空,插入NULL的操作本身就违反了主键的非空约束
正确实现方案

方法1:使用DEFAULT VALUES(最推荐)

由于你的表仅有一个自增主键列,直接插入默认值即可,数据库会自动生成符合规则的自增ID:

INSERT INTO [InvestmentJourneys] DEFAULT VALUES;

如果需要获取刚生成的ID,可以搭配SCOPE_IDENTITY()使用:

INSERT INTO [InvestmentJourneys] DEFAULT VALUES;
SELECT SCOPE_IDENTITY() AS NewInvestmentJourneyId;

该方法符合自增列的设计规范,性能最优,适合绝大多数场景。

方法2:显式指定列配合DEFAULT关键字

如果你的开发规范要求必须显式写出插入的列名,可以使用如下写法,效果和方法1完全一致:

INSERT INTO [InvestmentJourneys] ([InvestmentJourneyId])
VALUES (DEFAULT);

内容的提问来源于stack exchange,提问作者user7336033

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 01:27:03