当前位置: 首页 > 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

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

相关文章:

  • 4.27 JavaScript核心语法+事件监听
  • 如何通过git删除某个文件的历史提交记录
  • 类-python
  • FISCO BCOS 智能合约开发详解
  • AlexNet网络搭建
  • 麒麟系统通过 Service 启动 JAR 包的完整指南
  • Lua 第12部分 日期和时间
  • Maven概述
  • 使用 Playwright 构建高效爬虫:原理、实战与最佳实践
  • Netfilter 与struct nf_hook_ops 相关
  • C++?动态内存管理!!!
  • Taro on Harmony :助力业务高效开发纯血鸿蒙应用
  • 【数据挖掘】时间序列预测-常用序列预测模型
  • I-CON: A Unifying Framework for Representation Learning
  • 23种设计模式-行为型模式之命令模式(Java版本)
  • 从零实现分布式WebSocket组件:设计模式深度实践指南
  • 【Linux网络与网络编程】13.五种 IO 模型
  • Zookeeper HA集群搭建
  • 使用vue2 开发一个纯静态的校园二手交易平台-前端项目练习
  • 区块链:去中心化应用(DApp)开发全流程解析
  • 深圳一季度GDP为8950.49亿元,同比增长5.2%
  • 消费维权周报|上周违规经营类投诉较多,涉诱导加盟等
  • 美情报机构攻击中国大型商用密码产品提供商,调查报告公布
  • 下任美联储主席热门人选沃什:美联储犯下“系统性错误”,未能控制一代人以来最严重的通胀
  • 新加坡选情渐热:播客、短视频各显神通,总理反对身份政治
  • 同款瑞幸咖啡竟差了6元,开了会员仍比别人贵!客服回应