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

执行ALTER TABLE添加IDENTITY NOT NULL列时报错,请求技术帮助

解决添加IDENTITY NOT NULL列的报错问题

错误原因

当表中已有数据时,直接执行ALTER TABLE informations ADD id INTEGER IDENTITY NOT NULL;会报错,因为数据库无法为现有行自动生成IDENTITY值,导致这些行的id列被设为NULL,违反了NOT NULL约束。而设置DEFAULT值虽然能成功添加列,但DEFAULT是固定值,无法实现自增需求。

解决方案

分两步操作即可实现需求:

  1. 先添加允许NULL的IDENTITY列,此时数据库会自动为所有现有行生成唯一的自增值:
ALTER TABLE informations 
ADD id INTEGER IDENTITY NULL;
  1. 将该列修改为NOT NULL:
ALTER TABLE informations 
ALTER COLUMN id INTEGER NOT NULL;

这样既保证了id列的自增特性,又满足了NOT NULL的约束要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 15:43:19