php 中怎样用一条update 修改好几条记录
$sql="updateroomsetState='1'where(select*fromroomwhereStyle_id='$style_id'limit3)";这条...
$sql="update room set State='1' where (select * from room where Style_id='$style_id' limit 3)";
这条语句对吗?
$sql="update room set State='1' where Style_id='$style_id' limit $num";
这条语句正确,但是修改不了State,为什么啊? 展开
这条语句对吗?
$sql="update room set State='1' where Style_id='$style_id' limit $num";
这条语句正确,但是修改不了State,为什么啊? 展开
4个回答
展开全部
就是版本的问题。你这个版本的mysql不支持在子查询中包含limit!你可以改为:
update room set state='1' where style_id='1' limit 3即可达到一样的效果!
因为你的子查询中并不是查出3种state(否则要加distinct)而是查3条state记录!
修改不了是因为它原来就是state=1还是你修改了没有提交?
对于前者,你需要在where后面加上 and state <>'1'
对于后者,你执行完了之后,要 commit!
update room set state='1' where style_id='1' limit 3即可达到一样的效果!
因为你的子查询中并不是查出3种state(否则要加distinct)而是查3条state记录!
修改不了是因为它原来就是state=1还是你修改了没有提交?
对于前者,你需要在where后面加上 and state <>'1'
对于后者,你执行完了之后,要 commit!
展开全部
子查询不支持LIMIT
update room set State='1' where State in (select State from room where Style_id='1' ) limit 3
这样写不是一样么?
如果你愿意 在子查询里面加个 排序。就更好了
update room set State='1' where State in (select State from room where Style_id='1' ) limit 3
这样写不是一样么?
如果你愿意 在子查询里面加个 排序。就更好了
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你要理解PHP中的 ' " MYSQL 中的 ` 区别
你把变量 $ID 用 ' ' 包起来了. $ID就成了字符串了.
试着把SQL语句输出.看你的SQL语句是怎样的.
你把变量 $ID 用 ' ' 包起来了. $ID就成了字符串了.
试着把SQL语句输出.看你的SQL语句是怎样的.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$sql="update room set State='1' where Style_id>'$style_id' ";
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询