当前位置: 首页 > java >正文

数据库—修改某字段默认值

前言

有时候,数据库的字段默认值没有正确设置,这时候需要改默认值。以下是我做的改默认值的记录,希望对网友有所帮助。

1.SQL SERVER

下面的示例假设你要修改名为 YourColumnName 的字段,并为其设置一个新的默认值 NewDefaultValue。你需要根据实际情况替换 YourColumnNameNewDefaultValue。如果默认值是字符串,则在外层加单引号

DECLARE @TableName NVARCHAR(255),@ColumnName NVARCHAR(255),@ConstraintName NVARCHAR(255),@SqlCommand NVARCHAR(MAX);-- 如果游标存在,先关闭并释放
IF CURSOR_STATUS('global', 'TableCursor') >= -1
BEGINDEALLOCATE TableCursor;
END-- 游标遍历包含指定列的所有表
DECLARE TableCursor CURSOR FOR
SELECT t.name AS TableName, c.name AS ColumnName
FROM sys.columns c
INNER JOIN sys.tables t ON c.object_id = t.object_id
WHERE c.name = 'YourColumnName'; -- 替换为你的字段名OPEN TableCursor;FETCH NEXT FROM TableCursor INTO @TableName, @ColumnName;WHILE @@FETCH_STATUS = 0
BEGIN-- 获取现有默认约束名SELECT TOP 1 @ConstraintName = dc.name FROM sys.default_constraints dc INNER JOIN sys.columns c ON dc.parent_object_id = c.object_id AND dc.parent_column_id = c.column_idWHERE c.name = @ColumnName AND OBJECT_NAME(dc.parent_object_id) = @TableName;IF @ConstraintName IS NOT NULLBEGIN-- 删除旧的默认约束SET @SqlCommand = 'ALTER TABLE [' + @TableName + '] DROP CONSTRAINT [' + @ConstraintName + ']';EXEC sp_executesql @SqlCommand;END-- 添加新的默认值SET @SqlCommand = 'ALTER TABLE [' + @TableName + '] ADD CONSTRAINT [DF_' + @TableName + '_' + @ColumnName + '] DEFAULT (NewDefaultValue) FOR [' + @ColumnName + ']'; -- 修改这里的默认值EXEC sp_executesql @SqlCommand;FETCH NEXT FROM TableCursor INTO @TableName, @ColumnName;
ENDCLOSE TableCursor;
DEALLOCATE TableCursor;

http://www.xdnf.cn/news/16024.html

相关文章:

  • importlib.import_module() 的用法与实战案例
  • Java值传递和构造函数
  • Java 并发性深度解析
  • C# 基于halcon的视觉工作流-章21-点查找
  • 【前端】ikun-pptx编辑器前瞻问题一: pptx的xml样式, 使用html能100%还原么
  • 【计算机网络 篇】TCP基本认识和TCP三次握手相关问题
  • 基于springboot的医院后台管理系统的设计与实现(源码+论文)
  • 【python数据结构算法篇】python算法
  • Ubuntu 虚拟机配置 与Windows互传文件
  • 零事故网站重构:11步标准化流程与风险管理指南
  • PHICOMM(斐讯)N1盒子 - Armbian25.05(Debian 12)刷入U盘/EMMC
  • 【Spring Boot】Spring Boot循环依赖破解:@Lazy与Setter注入的取舍指南(流程图修复版)
  • Oracle RAC+ADG switchover 切换演练流程
  • 【文献笔记】ARS: Automatic Routing Solver with Large Language Models
  • LabVIEW 2025安装包| 免费免激活版下载| 附图文详细安装教程
  • Tailwind CSS快速上手 Tailwind CSS的安装、配置、使用
  • 使用qt编写上位机程序,出现串口死掉无法接受数据的bug
  • 【windows修复】解决windows10,没有【相机] 功能问题
  • 前端学习 4:一些术语集合
  • 自研能管项目开发界面
  • uniapp “requestPayment:fail [payment支付宝:62009]未知错误“
  • Gerrit多仓库对应多邮箱配置办法
  • 上下文工程的系统性优化:从组件到整合架构
  • 【ArcGIS Pro】设置临时存储文件夹(计算缓存数据存放位置)
  • 网络安全实验 番外篇 使用Web登录eNSP中防火墙
  • 【指南】网络安全领域:HW 行动(国家网络安全攻防演练)是什么?
  • opencv简介(附电子书资料)
  • 2025乐彩V8影视系统技术解析:双端原生架构与双H5免签封装实战 双端原生+双H5免签封装+TV级性能优化,一套代码打通全终端生态
  • MySql 运维性能优化
  • 为什么使用扩展坞会降低显示器的最大分辨率和刷新率