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

ALTER TABLE 删除DROP表列的报错: 因为有一个或多个对象访问此列

目录

1.问题

2.解决办法


1.问题

 删除某个列名的时候,提示错误'因为有一个或多个对象访问此列'

2.解决办法

  2.1 添加或删除表新列名

    将表中的字段设置Default 或 NOT NULL 都会给该字段添加约束,增加了这些约束后,再SQL脚本修改类型、删除会发生类似错误,先要查找该字段上已存在的约束名称,并删除存在的约束,才可以进行修改/删除脚本。

     NULL或没有默认值的,则没有约束,可以直接删除

   ALTER TABLE  A_TEST   ADD     CNT  INT DEFAULT 0  ALTER TABLE  A_TEST    DROP  COLUMN CNT  

   2.2 解决

    1.找约束

    SELECT  B.NAME FROM SYSOBJECTS B JOIN SYSCOLUMNS A ON B.ID = A.CDEFAULT
    WHERE A.ID = OBJECT_ID('TABLE_NAME')   --TABLE_NAME =A_TEST
     AND A.NAME ='COLUM_NAME'   --COLUM_NAME=CNT 

   

SELECT  B.NAME 
FROM SYSOBJECTS B JOIN SYSCOLUMNS A ON B.ID = A.CDEFAULT
WHERE A.ID = OBJECT_ID('A_TEST')   --TABLE_NAME =A_TEST
AND A.NAME ='CNT '   --COLUM_NAME=CNT

   2.删除约束:约束的名称很复杂

 语句的方法

  EXEC('ALTER TABLE TABLE_NAME DROP CONSTRAINT ' + 约束名称)

  EXEC('ALTER TABLE A_test DROP CONSTRAINT ' + 约束名称)

点击这个表→约束→点击某个约束→DROP

确认是这个列名后删除即可


http://www.mrgr.cn/news/100418.html

相关文章:

  • MIT XV6 - 1.1 Lab: Xv6 and Unix utilities - sleep
  • 基于云原生架构的后端微服务治理实战指南
  • 【Linux】Centos7 在 Docker 上安装 mysql8.0(最新详细教程)
  • 【C++ 类和数据抽象】消息处理示例(2)
  • SHCTF-REVERSE
  • 6.图的OJ题(1-10,未完)
  • 【Pandas】pandas DataFrame rfloordiv
  • 文心一言开发指南06——千帆大模型平台新手指南
  • 《代码整洁之道》第8章 边界 - 笔记
  • Python 自动化办公:Excel 数据处理的“秘密武器”
  • 技能点总结
  • 【MCP】从一个天气查询服务带你了解MCP
  • 软考:软件设计师考试数据结构知识点详解
  • Redis使用总结
  • linux:进程的替换
  • 剑指Offer(数据结构与算法面试题精讲)C++版——day21
  • git回退commit
  • w~嵌入式C语言~合集4
  • 【上位机——MFC】文档
  • Redis远程链接应用案例