MSSQL删除字段时出现 服务器: 消息 5074,级别 16,状态 1,行 1 的解决办法
2013-12-11 20:37
671 查看
有的朋友在做用户维护字段的界面时,肯定发现一个问题,当用脚本:
ALTER TABLE 表名 DROP COLUMN 字段名
进行删除字段的操作时,会出现“服务器: 消息 5074,级别 16,状态 1,行 1 ”的错误,这是因为字段有了默认值,不过可以通过清除掉默认值的存储过程来进行这个操作,但如果在删除字段前,强行运行
sp_unbindefault '表名.字段名'
这样的操作,如果字段没有默认值,却会产生一个异常,虽然不会影响操作的结果,但这样会让用户摸不着头脑。
为了解决这个矛盾的问题,有一个办法:先检查字段是否绑定有默认值,如果有的话才运行sp_unbindefault '表名.字段名',否则不运行,这样就不会出现错误提示的尴尬局面。
检查的方法是:
SELECT syscolumns.cdefault
FROM sysobjects LEFT OUTER JOIN
syscolumns ON syscolumns.id = sysobjects.id
WHERE (sysobjects.name = '表名') AND (syscolumns.name = '字段名')
如果cdefault<>0则表示没有默认值,需要运行sp_unbindefault '表名.字段名',反之则不需要。
ALTER TABLE 表名 DROP COLUMN 字段名
进行删除字段的操作时,会出现“服务器: 消息 5074,级别 16,状态 1,行 1 ”的错误,这是因为字段有了默认值,不过可以通过清除掉默认值的存储过程来进行这个操作,但如果在删除字段前,强行运行
sp_unbindefault '表名.字段名'
这样的操作,如果字段没有默认值,却会产生一个异常,虽然不会影响操作的结果,但这样会让用户摸不着头脑。
为了解决这个矛盾的问题,有一个办法:先检查字段是否绑定有默认值,如果有的话才运行sp_unbindefault '表名.字段名',否则不运行,这样就不会出现错误提示的尴尬局面。
检查的方法是:
SELECT syscolumns.cdefault
FROM sysobjects LEFT OUTER JOIN
syscolumns ON syscolumns.id = sysobjects.id
WHERE (sysobjects.name = '表名') AND (syscolumns.name = '字段名')
如果cdefault<>0则表示没有默认值,需要运行sp_unbindefault '表名.字段名',反之则不需要。
相关文章推荐
- MSSQL删除字段时出现 服务器: 消息 5074,级别 16,状态 1,行 1 的解决办法
- 服务器:消息18456,级别16,状态1 用户‘sa’登录失败解决方法
- 处理SQL2000附加数据库时出现【服务器: 消息 1813,级别 16,状态 2,行 1未能打开新数据库】的异常
- 出现如下错误服务器: 消息 544,级别 16,状态 1,行 1 当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'OrderList' 中的标识列插入显式值。
- 出现如下错误服务器: 消息 544,级别 16,状态 1,行 1 当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'OrderList' 中的标识列插入显式值。
- 服务器:消息18456,级别16,状态1 用户‘sa’登录失败解决方法
- 服务器:消息18456,级别16,状态1 用户‘sa’登录失败解决方法
- 全文索引查询子句只包含被忽略的词,服务器: 消息 7619,级别 16,状态 1,行 1
- 服务器: 消息 15135,级别 16,状态 1,过程 sp_validatepropertyinputs,行 100. 对象无效。不允许在 '.cash_flux' 上使用扩展属性,或对象不存在
- 服务器出现无法删除文件和找不到指定文件的解决办法
- SQL执行分布式查询错误“服务器: 消息 7411,级别 16,状态 1,行 1”
- sql2000 服务器: 消息 4064,级别 16,状态 1
- “服务器: 消息 8152,级别 16,状态 9 ”的处理
- 服务器: 消息 170,级别 15,状态 1,行 14解决方法
- PHP Curl出现403错误的解决办法 beecloud webhook订单状态返回 服务器403的问题
- 服务器: 消息 508,级别 16,状态 1,无法调试存储过程
- 类似“消息 1767,级别 16,状态 0,第 1 行 外键 'fk_cwi' 引用了无效的表 'CourseWare'。”的解决
- 关于完全删除电脑上多余的tomcat服务器的解决办法
- 删除文件出现 数据错误 循环冗余的解决办法
- 消息 245,级别 16,状态 1,— —动态SQL