SQL新手的UPDATE问题

[复制链接]
查看11 | 回复9 | 2012-10-9 18:03:32 | 显示全部楼层 |阅读模式
update content set did = (select did from directory where directory="国内新闻&quot

为什么会出错
具体应该怎么写??
回复

使用道具 举报

千问 | 2012-10-9 18:03:32 | 显示全部楼层
select did from directory where directory="国内新闻"
有多条记录返回吧?
content和directory有何关系?
回复

使用道具 举报

千问 | 2012-10-9 18:03:32 | 显示全部楼层
这样可能产生多值错误,或者给UPDATE语句,或者用游标试试
回复

使用道具 举报

千问 | 2012-10-9 18:03:32 | 显示全部楼层
最初由 groupsz 发布
[B]set did = (select did from directory where directory="国内新闻&quot

[/B]

二楼说的对,一旦select查询出来多条记录就会报错了,你的算法有问题。
回复

使用道具 举报

千问 | 2012-10-9 18:03:32 | 显示全部楼层
可是我的did = (select did from directory where directory="国内新闻&quot

只返回一个值啊就是“国内新闻”的编号啊
content是新闻内容(新闻编号,标题,内容,类别编号)
directory是新闻类别(编号,类别)
回复

使用道具 举报

千问 | 2012-10-9 18:03:32 | 显示全部楼层
update content set did = (select did from directory where directory="国内新闻&quot

如果是 MS SQL 数据库就不对!
如果你是新手这就好办了!
update content set did = (select did from directory where directory='国内新闻')
老手是不会犯 单引号 和双引号的错误的!!
回复

使用道具 举报

千问 | 2012-10-9 18:03:32 | 显示全部楼层
靠!我竟然还拷贝了一份。
看来虫子永远不止一个,不要看到一个大的就把小的忘记了!!!
回复

使用道具 举报

千问 | 2012-10-9 18:03:32 | 显示全部楼层
我也是百思不的其解!想放弃的时候才发现的!惭愧呀!
回复

使用道具 举报

千问 | 2012-10-9 18:03:32 | 显示全部楼层
那如果我想完成这一操作,具体的该如何写呢?
回复

使用道具 举报

千问 | 2012-10-9 18:03:32 | 显示全部楼层
说的多明白呀,“”改成‘’
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行