博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
删除表中一个字段的SQL语句
阅读量:5123 次
发布时间:2019-06-13

本文共 1079 字,大约阅读时间需要 3 分钟。

1.删除没有的列: alter table Test drop COLUMN BazaarType 2.删除有的列: 先删除约束()alter table Test DROP CONSTRAINT DF__Test__BazaarType__3C4ACB5F (alter table Test DROP COLUMN BazaarType 提示报错就是 DF__SheetTest__Attac__0F8D3381)
然后在删除列 alter table Test DROP COLUMN BazaarType 3.ALTER TABLE 表名 ADD 字段名 INT  DEFAULT (0) NOT NULL; 修改主键字段类型

 alter table [tablename] alter column [colname] [newDataType])修改某表的字段类型时,会报错是因为存在约束。 

a。 将表中的字段设置为NOT NULL(不为空)、给字段增加Default值(默认值)这样的操作都会给该字段添加约束,增加了这些约束后,在用SQL脚本修改字段类型、删除字段的时候均会发生类似错误.  

b.查找该字段上已存在的约束,并删除存在的约束.

c.再次执行修改/删除脚本即可。

 解决方法:

1.查找出表中该字段的约束名称(或根据已有的提示及对象'DF__******')

declare @name varchar(50)

select  @name =b.name from sysobjects b join syscolumns a on b.id = a.cdefault 
where a.id = object_id('TableName') 
and a.name ='ColumName'

2. 删除存在的约束

exec('alter table TableName drop constraint ' + @name)

例如:exec('alter table T_tableName drop constraint  报错信息的约束名' )

3. 再执行修改字段类型的脚本即可

alter table dbo.T_tableName alter column Id BIGINT not NULL

alter table dbo.T_tableName add constraint PK_Id primary key(Id)

转载于:https://www.cnblogs.com/yexiaoyanzi/p/6741876.html

你可能感兴趣的文章
测试jdbc连接下,mysql和mycat的吞吐性能
查看>>
Wavecom短信猫Q2403A模块更适合二次开发应用
查看>>
Longest Valid Parentheses
查看>>
第二次作业
查看>>
ionic简介
查看>>
SVN环境搭建步骤
查看>>
链式堆栈
查看>>
linux 使用yum安装mysql
查看>>
记忆化搜索 || POJ 1088 滑雪
查看>>
linux常用命令总结
查看>>
Python学习笔记(一)
查看>>
codeforces Educational Codeforces Round 24 (A~F)
查看>>
LeetCode -- Merge K Sorted Lists
查看>>
C程序设计 贪吃蛇分析(2)
查看>>
IGMP简介
查看>>
1418:猴子选大王
查看>>
C#进阶系列——DDD领域驱动设计初探(二):仓储Repository(上)
查看>>
DataTable 转换成 Json的3种方法
查看>>
eclipse怎样在线安装hibernate tools插件并使用
查看>>
判断IE和360浏览器
查看>>