求一条SQL语句,向表里添加一个字段并把初值赋为2

问题如上,表名:PCjInfo,字段名:CJ_Rq长度:char(10),数据库:MSSQL2000vwiop您好:这句话报错了。错误是:服务器:消息512,级别16,状... 问题如上,表名:PCjInfo ,字段名:CJ_Rq 长度:char(10) ,数据库:MSSQL2000
vwiop您好:这句话报错了。
错误是:服务器: 消息 512,级别 16,状态 1,过程 TR_PCjInfo_update,行 53
子查询返回的值多于一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。
语句已终止。
我也像你这样写过,也是这样报错的,但如果加上where子句,限定一下id,就会改过来,只能改一条,现在我想实现全部更新,应该怎么办呢?
谢谢啦!
展开
 我来答
妄玩创想
2009-12-29 · 射频信号多机测试解决咨询
妄玩创想
采纳数:434 获赞数:1169

向TA提问 私信TA
展开全部
ALTER table 表名 add 字段名 xxxxx
xxxxx这里写你自己对这个字段类型的定义
你的就是
alter table PCjInfo add CJ_Rq char(10) default('2')
你的表的设计是不是有点小问题?
char(10)表示你的这个字段的内容必须占用10个bit
改为varchar(10)就根据具体的值来占用空间,不过不可超过10
你是修改还是添加字段?
上面写的是原先数据表中没有这个字段,增加的时候所有CJ_Rq字段都是字符型2.如果你是把原先空的字段赋值,那就没必要这样写了
流绑
2009-12-29
知道答主
回答量:30
采纳率:0%
帮助的人:10.4万
展开全部
SQL 是同时执行,即在执行alter table PCjInfo add CJ_Rq char(10) 时也几乎同时执行update PCjInfo set CJ_Rq='2'; 所以你那样写就报错了,中间加上个GO试一下
alter table PCjInfo add CJ_Rq char(10) ;
GO
update PCjInfo set CJ_Rq='2';
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
vvviop
2009-12-29 · TA获得超过935个赞
知道小有建树答主
回答量:1793
采纳率:0%
帮助的人:1356万
展开全部
alter table PCjInfo add CJ_Rq char(10) ;
update PCjInfo set CJ_Rq='2';
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Kan0818
2009-12-29 · TA获得超过112个赞
知道小有建树答主
回答量:184
采纳率:0%
帮助的人:222万
展开全部
alter table PCjInfo add CJ_Rq char(10) default('2');
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式