修改表字段的属性

lichxi1002 2007-10-18 09:35:24
SQL SEREVER 有一表 A 里有字段 AA,BB 其中BB的为varchar(50)NULL 表中有记录,且BB的值为“0”
现在想把BB的改为varchar(50) not null

我用 alter table A alter BB varchar(50) not null 不行,
用 alter table A modify BB varchar(50) not null 也不行,

特请大家帮我解决,
...全文
2708 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sp4 2007-10-18
  • 打赏
  • 举报
回复

alter table A alter column BB varchar(50) not null

如果还不能修改,那么就是因为BB字段上有为NULL的值
那就先给BB为NULL的行设置个值即可,然后执行上面语句
Update A Set BB='某默认值' WHERE BB IS NULL

SQL里也可以这样
alter table A Add column BB1 varchar(50) not null default '某默认值'
go
Update A Set BB1=BB Where BB Is Not Null
go
ALTER TABLE A DROP COLUMN BB
go
EXEC sp_rename 'A.BB1', 'BB','column'
go
晓风残月0110 2007-10-18
  • 打赏
  • 举报
回复
agree
fwacky 2007-10-18
  • 打赏
  • 举报
回复
alter table A
alter column BB varchar(50) not null
chuifengde 2007-10-18
  • 打赏
  • 举报
回复
alter table A alter column BB varchar(50) not null
前提是表中不能有null的记录
wgzaaa 2007-10-18
  • 打赏
  • 举报
回复
alter table A alter COLUMN BB varchar(50) not null --少COLUMN
playwarcraft 2007-10-18
  • 打赏
  • 举报
回复
alter table A alter column BB varchar(50) not null
試下

34,590

社区成员

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

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