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

SSMS为UserDate列添加DEFAULT (getdate())约束验证失败怎么办

SSMS默认值约束报错解决方案

错误原因

  • 语法适配错误
    你输入的DEFAULT (getdate()) FOR [UserDate]是直接执行SQL语句时的完整默认值约束语法,不适用于SSMS的约束表达式对话框。该对话框仅需要填写默认值的计算逻辑,不需要包含DEFAULT关键字、FOR [UserDate]后缀,正确输入内容仅为(GETDATE())即可。
  • 约束配置混淆
    非空属性是独立于默认值约束的单独设置,不能合并到默认值约束的表达式中。你需要在对应列的属性面板,将「允许Null值」选项设置为否,即可完成非空约束配置。

注意事项

如果你的数据表中已经存在历史数据,修改列为非空前需要先把现有行中UserDate为NULL的记录补充有效值,否则非空约束配置会失败。

效果验证

配置完成后可执行测试语句验证:

-- 插入不指定UserDate列的测试数据
INSERT INTO 你的表名(其他列名) VALUES(对应列值)
-- 查询可看到UserDate已自动填充当前时间
SELECT * FROM 你的表名

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 05:06:07