删除表中一个字段的SQL语句
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)
删除表中一个字段的SQL语句的更多相关文章
- mongoDB删除表中一个字段
		使用update命令 update命令 update命令格式: db.collection.update(criteria,objNew,upsert,multi) 参数说明: criteria:查询 ... 
- 从数据库中查询所有表及所有字段的SQL语句
		从数据库中查询所有表及所有字段的SQL语句 由于一个小项目的需要,近日完成一个从数据库中查询所有表及所有字段的方法,其实用两条SQL语句就可以完成. Sql Server版:列出当前DB中所有表:se ... 
- sqlserver中查询表字段的sql语句
		sqlserver中的表信息字段信息这些东西也是放到系统表中的,以下sql语句用于查询某表的字段信息. select t1.id object_id,t1.name object_name,t2.va ... 
- 在数据表中添加一个字段的SQL语句怎么写
		如果要在数据表中添加一个字段,应该如何表示呢?下面就为您介绍表添加字段的SQL语句的写法,希望可以让您对SQL语句有更深的认识. 通用式: alter table [表名] add [字段名] 字 ... 
- 表中相同数据的sql语句
		1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select * from peoplewhere peopleId in (select peopleId from ... 
- 如何将sqlserver表中的数据导出sql语句或生成insert into语句 [转]
		输入表名,生成插入语句 drop proc proc_insert //如果存在就删除 go create proc proc_insert (@tablename varchar(256)) as ... 
- MySQL中设置同一张表中一个字段的值等于另一个字段的值
		今天遇到了一个需求,我在一张表中新增了一个字段,因为这张表以前已经有很多数据了,这样对于以前的数据来说,新增的这个字段的值也就是为该字段的默认值,现在需要将新增的这个字段添加上数据,数据来源为同表的另 ... 
- SQL语句删除表中的字段只留下最新一行
		方法一 DELETE FROM A WHERE `name` in ( SELECT a.name FROM( SELECT name FROM A a GROUP BY name HAVING CO ... 
- sql 删除表中某字段的重复数据
		重复字段:BarCode SELECT * FROM dbo.AssetBarCode WHERE BarCode IN (SELECT BarCode FROM dbo.AssetBarCode G ... 
随机推荐
- day9http协议
			Http协议入门 2.1 什么是http协议 http协议: 对浏览器客户端 和 服务器端 之间数据传输的格式规范 2.2 查看http协议的工具 1)使用火狐的firebug插件(右键->f ... 
- HDU - 5451 Best Solver(循环节+矩阵快速幂)
			Best Solver The so-called best problem solver can easily solve this problem, with his/her childhood ... 
- Javascript 返回上一页:选中GridVIew的 Chekcbox
			1. 选中GridVIew的值 $("#reverse").click(function () { //$("#checkbox[Num]").attr(&q ... 
- PHP操作Redis常用技巧总结【转】
			一.Redis连接与认证 //连接参数:ip.端口.连接超时时间,连接成功返回true,否则返回false $ret = $redis->connect('127.0.0.1', 6379, 3 ... 
- 洛谷P1044 栈(Catalan数)
			P1044 栈 题目背景 栈是计算机中经典的数据结构,简单的说,栈就是限制在一端进行插入删除操作的线性表. 栈有两种最重要的操作,即pop(从栈顶弹出一个元素)和push(将一个元素进栈). 栈的重要 ... 
- ListView加载完数据屏幕会自动和ListView的顶部对齐,而不是布局中最顶部的控件?
			最简单的解决方法 让ListView失去焦点即可 listView.setFocusable(false); 
- [题解]luogu_P2155_BZOJ_2186沙拉公主的困惑
			题意求1~N!中与M!互质的数的个数, 首先证明gcd(a,b)=1时gcd(a-kb,b)=1 gcd(a,b)=1 gcd(a%b,b)=1 gcd(a-kb,b)=1 即a-kb与b互质 这样由 ... 
- Debian 跨版本升级
			相对于某些重量级 Linux 发行版而言,同样是通过网络跨版本升级,Debian 的升级过程总要显得轻快很多.不会因为要下载数量惊人的软件包并安装而把升级时间拉得很长,也不用担心中途某些程序崩溃退出导 ... 
- FusionCharts的类 - 实例功能
			一.FusionCharts的类 - 实例功能 1.configure(name:string , value:string) or configure(configurations: Objec ... 
- JAVA_HOME not recognized by tomcat7 in Ubuntu
			vi .bashrc 添加: export JAVA_HOME=/usr/lib/jvm/java--oracle export JRE_HOME=$JAVA_HOME/jre export CLAS ... 
