删除SQL语法删除表中的某一个字段报错要怎么处理

小野马1209 2018-09-11 05:41:17
执行以下语法报错
alter table CU_SubcontractPaymentDetail drop column CU_Payment100Include

报错消息:
消息 5074,级别 16,状态 1,第 1 行
对象'DF__CU_Subcon__CU_Pa__4407FBBE' 依赖于 列'CU_Payment100Include'。
消息 4922,级别 16,状态 9,第 1 行
由于一个或多个对象访问此列,ALTER TABLE DROP COLUMN CU_Payment100Include 失败。

字段的属性
...全文
985 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
RINK_1 2018-09-12
  • 打赏
  • 举报
回复
引用 5 楼 kaijie_wu1209 的回复:
[quote=引用 1 楼 RINK_1 的回复:] 这个字段上设置了约束。被其他表作为外键引用了?
这个字段我误设置成了主键,表里这个字段有数据,现在这个字段没有用了,我想删除[/quote] 那你就把约束删了,有外键关系的话,就到相关联的表中把对应外键约束删了,然后再去源表删除这个字段试试。
二月十六 版主 2018-09-12
  • 打赏
  • 举报
回复
引用 4 楼 kaijie_wu1209 的回复:
引用 3 楼 sinat_28984567 的回复:
为什么要删除主键呢?
这个字段是误设置成了主键,现在这个字段没用了

其他表对这个字段的引用呢?也没用了?那就先删除引用字段,再删除这个。
小野马1209 2018-09-12
  • 打赏
  • 举报
回复
引用 1 楼 RINK_1 的回复:
这个字段上设置了约束。被其他表作为外键引用了?

这个字段我误设置成了主键,表里这个字段有数据,现在这个字段没有用了,我想删除
小野马1209 2018-09-12
  • 打赏
  • 举报
回复
引用 3 楼 sinat_28984567 的回复:
为什么要删除主键呢?
这个字段是误设置成了主键,现在这个字段没用了
小野马1209 2018-09-12
  • 打赏
  • 举报
回复
引用 3 楼 sinat_28984567 的回复:
为什么要删除主键呢?
这个表还有另外两个主键
二月十六 版主 2018-09-12
  • 打赏
  • 举报
回复
为什么要删除主键呢?
吉普赛的歌 版主 2018-09-11
  • 打赏
  • 举报
回复
USE tempdb
GO
IF OBJECT_ID('t') IS NOT NULL DROP TABLE t
GO
CREATE TABLE t(
id INT NOT NULL,
n NVARCHAR(10)
)
GO
ALTER TABLE t ADD CONSTRAINT PK_t_id PRIMARY KEY CLUSTERED (id)
ALTER TABLE t ADD CONSTRAINT DF_t_id DEFAULT '1' FOR id
GO
ALTER TABLE t DROP COLUMN id
/*
消息 5074,级别 16,状态 1,第 13 行
对象'DF_t_id' 依赖于 列'id'。
消息 5074,级别 16,状态 1,第 13 行
对象'PK_t_id' 依赖于 列'id'。
消息 4922,级别 16,状态 9,第 13 行
由于一个或多个对象访问此 列,ALTER TABLE DROP COLUMN id 失败。
*/
GO
--先删除此列上所有约束,如果有索引也一并删除
ALTER TABLE t DROP CONSTRAINT DF_t_id
ALTER TABLE t DROP CONSTRAINT PK_t_id
GO
--再删除此列
ALTER TABLE t DROP COLUMN id
RINK_1 2018-09-11
  • 打赏
  • 举报
回复
这个字段上设置了约束。被其他表作为外键引用了?

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧