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

如何删除SQL中的DEFAULT约束?附已尝试的操作代码参考

解决方案

你第一条语句的作用是为sale_id字段设置默认值为NULL,第二条就是对应删除该默认值约束的标准语法:

ALTER TABLE product
ALTER COLUMN sale_id DROP DEFAULT

如果运行报错,可根据你使用的数据库类型对应调整写法:

  • MySQL / MariaDB / PostgreSQL:上述标准写法可直接生效,运行后即可删除sale_id字段刚刚设置的默认NULL约束
  • SQL Server:如果默认约束是系统自动生成的随机名称,需要先查询约束名再删除:
    1. 执行查询获取约束名:
    SELECT name FROM sys.default_constraints 
    WHERE parent_object_id = OBJECT_ID('product') 
    AND parent_column_id = (
      SELECT column_id FROM sys.columns 
      WHERE name = 'sale_id' AND object_id = OBJECT_ID('product')
    )
    
    1. 替换语句中的约束名执行删除:
    ALTER TABLE product DROP CONSTRAINT <你查询到的约束名>
    
  • Oracle:需要先查询默认约束名再删除:
    1. 执行查询获取约束名:
    SELECT constraint_name FROM user_cons_columns 
    WHERE table_name = 'PRODUCT' AND column_name = 'SALE_ID' AND constraint_type = 'D'
    
    1. 替换语句中的约束名执行删除:
    ALTER TABLE product DROP CONSTRAINT <你查询到的约束名>
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 02:54:03