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

如何将带默认约束的列的现有记录更新为默认值?

如何将列的现有记录更新为其默认约束值

嘿,这个需求其实很好实现,大部分主流数据库都提供了简洁的语法来直接引用列的默认约束值,不用你自己去查默认值再手动写进去~

主流数据库通用写法

你不需要写成DEFAULT(col1)这种形式,直接在SET子句里使用DEFAULT关键字就可以引用该列的默认值,完全匹配你想要的场景:

UPDATE table1 
SET col1 = DEFAULT 
WHERE col2 = 'xxx';

执行这条语句后,所有满足col2 = 'xxx'条件的记录,col1都会被更新为它预先设置的默认约束值。

特殊场景:无法直接使用DEFAULT的情况

如果遇到一些老版本数据库不支持直接用DEFAULT的情况,你可以先查询出该列的默认值,再用这个值执行更新。以SQL Server为例,你可以通过系统视图获取默认值:

-- 第一步:查询col1的默认约束值
SELECT COLUMN_DEFAULT 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_NAME = 'table1' AND COLUMN_NAME = 'col1';

-- 第二步:用查到的默认值执行更新(假设默认值是'your_default_value')
UPDATE table1 
SET col1 = 'your_default_value' 
WHERE col2 = 'xxx';

不过这种方法比较繁琐,优先推荐第一种通用写法,既高效又简洁。

验证更新结果

更新完成后,你可以用以下语句确认是否生效:

SELECT col1 FROM table1 WHERE col2 = 'xxx';

检查返回的结果是否和你设置的默认值一致就可以啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 04:01:54