对数据表添加修改字段的问题,急

chenchanggang 2004-12-24 02:14:06
我用alter table test add name varchar(64) default 0 not null语句为表
添加一新字段,然后用alter table test drop column name 去删除她
则:服务器: 消息 5074,级别 16,状态 1,行 1
对象 'DF__test__name__3B0BC30C' 依赖于 列 'name'。
服务器: 消息 4922,级别 16,状态 1,行 1
ALTER TABLE DROP COLUMN name 失败,因为有一个或多个对象访问此列。
我想可能是有缺省值的问题
那么如果想添加一个不为空的字段怎么才能不用指定缺省值就可以
怎么写?
...全文
141 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenchanggang 2004-12-24
  • 打赏
  • 举报
回复
up
chenchanggang 2004-12-24
  • 打赏
  • 举报
回复
支持正版
chenchanggang 2004-12-24
  • 打赏
  • 举报
回复
我想在程序里控制删除带默认值的列,我怎么才能知道要删除的列是否指定了默认值,如果是那么
怎么获得他的默认约束名呢?
vinsonshen 2004-12-24
  • 打赏
  • 举报
回复
你创建表时设定默认值就为其建立了默认约束

建立了默认约束时,想删除该列必须先删除默认值约束就能删除该列了:

删除默认约束:
alter table test drop constraint 约束名

约束名--你在查询分析器按F8出来的右边里选择该表展开其“约束”就能看到默认约束名了
chenchanggang 2004-12-24
  • 打赏
  • 举报
回复
大侠帮帮忙拉
chenchanggang 2004-12-24
  • 打赏
  • 举报
回复
我在建立时没有建立约束啊,难道数据库会建立默认约束,那怎么删除这个默认约束
vinsonshen 2004-12-24
  • 打赏
  • 举报
回复


删除默认值约束就能删除该列了:

alter table test drop constraint 约束名
chenchanggang 2004-12-24
  • 打赏
  • 举报
回复
大侠们不会都回家陪老婆了吧
chenchanggang 2004-12-24
  • 打赏
  • 举报
回复
希望在圣诞前能解决,期待!!!!!!!!!!!!!
chenchanggang 2004-12-24
  • 打赏
  • 举报
回复
楼上说的没错,那种是可以,可是只能用在整型,而我的表里多数是字符型
LBYYBL 2004-12-24
  • 打赏
  • 举报
回复
加一个自增的主键字段应该可以删除吧
alter table test add id int identity(1,1)not null

27,582

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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