更新table2里的一条记录,记录里的某个字段的值需从table1获取。其中,两个表的ID均为自动编号,table2的字段ID_2是table1的ID值(做关联)。语句如下:UPDATE table2 SET table2.ID_2=(SELECT table1.ID FROM table1 WHERE table1.字段1='XXX' AND table1.字段2='YYY') table2.字段3='ZZZ' WHERE table2.ID=101错误提示:操作必须使用一个可更新的查询。
解决方案 »
- 关于richtextbox背景图片的问题。
- c# 在Windows Mobile上视频播放
- ?错误处理?
- C# 生成打开需要输入密码的文件
- 困惑的一个问题
- 如何实现虚拟框架(不用其他工具或者飞信)
- 简单字符串问题求教,马上结贴!
- windows mobile 6.0调用手机模拟器的windows media player?用c#语言。求救!
- 明明form1里面有10多个控件,用this.Controls.Count怎么才有一个?
- 我试了一下,好像treeview没有办法一次多选几个treenode,谁有什么好办法?
- 一个关于WebRequest 的问题!!急!!!!
- 一个基础知识问题,顺便帮忙推荐几本好的学习C#的书。
改成下面的也不行:UPDATE table2 SET table2.ID_2=(SELECT table1.ID FROM table1 WHERE table1.字段1='XXX' AND table1.字段2='YYY') WHERE table2.ID=101
符合这个查询的记录在table1里确实是有的。
=============================
对于identity 标识的字段不能修改;
改为
SELECT top 1 table1.ID FROM table1 WHERE table1.字段1='XXX' AND table1.字段2='YYY'
提示:操作必须使用一个可更新的查询UPDATE table2 SET(table2.ID_2,table2.字段3)=(SELECT table1.ID, 'ZZZ' FROM table1 WHERE table1.字段1='XXX' AND table1.字段2='YYY') WHERE table2.ID=101
提示:UPDATE语句的语法错误