mysql update和inner join要怎么写才对 急 救命

fudg1211 2009-05-07 02:02:18
用了条这样的语句
$sql="update mission_book set a.mission_status=2 from mission_book a inner join mission_item b on 13=13 where a.player_id=$user_id and a.mission_id=$mission_id";

这样写报错 请问update 中的inner join该怎么写啊
...全文
1754 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
virusswb 2012-10-05
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

SQL code
update a set a.mission_status=2 from mission_book a inner join mission_item b on a.13 = b.13 where a.player_id=$user_id and a.mission_id=$mission_id
[/Quote]
这个是sqlserver的写法,在mysql中不能用的。
caicaic 2009-11-13
  • 打赏
  • 举报
回复
fdsfsf
xu54647265 2009-05-07
  • 打赏
  • 举报
回复
老大你让谁给你结贴……
fudg1211 2009-05-07
  • 打赏
  • 举报
回复
结贴加分
liangCK 2009-05-07
  • 打赏
  • 举报
回复
update mission_book a
inner join mission_item b
on a.col=b.col
set a.mission_status=2
where a.col=xxx
xu54647265 2009-05-07
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 fudg1211 的回复:]
现在出来了 技术也太菜了 还有问题不知道怎么解决 还请各位大哥赐教

inner join mission_item b on a.13 = b.13

如果我改成inner join mission_item b on  b.id=a.id 后面还要更一个条件要怎么写
比如inner join mission_item b on b.id=a.id and b.mission_id=13(这个是比如实现不了)大概这样有两条件 要怎么解决

先谢谢了
[/Quote]
根据我的理解,应该是
inner join (select * from mission_item where mission_id=13) b on b.id=a.id

htl258_Tony 2009-05-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 liangCK 的回复:]
SQL codeupdate mission_book a
inner join mission_item b
on 13=13
set a.mission_status=2
[/Quote]
MYSQL,ACCESS都是如1楼的写法。
xu54647265 2009-05-07
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 fudg1211 的回复:]
现在出来了 技术也太菜了 还有问题不知道怎么解决 还请各位大哥赐教

inner join mission_item b on a.13 = b.13

如果我改成inner join mission_item b on  b.id=a.id 后面还要更一个条件要怎么写
比如inner join mission_item b on b.id=a.id and b.mission_id=13(这个是比如实现不了)大概这样有两条件 要怎么解决

先谢谢了
[/Quote]
on是表连接的筛选条件
就是说,表连接后,会产生一个类似于临时的视图这么一个东西
where是从这个临时的视图中筛选数据的
所以,你首先要搞清,你的所谓的2个条件属于哪一种
jimwoo 2009-05-07
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 fudg1211 的回复:]
现在出来了 技术也太菜了 还有问题不知道怎么解决 还请各位大哥赐教

inner join mission_item b on a.13 = b.13

如果我改成inner join mission_item b on b.id=a.id 后面还要更一个条件要怎么写
比如inner join mission_item b on b.id=a.id and b.mission_id=13(这个是比如实现不了)大概这样有两条件 要怎么解决

先谢谢了
[/Quote]
就象你写的这样就可以
fudg1211 2009-05-07
  • 打赏
  • 举报
回复
现在出来了 技术也太菜了 还有问题不知道怎么解决 还请各位大哥赐教

inner join mission_item b on a.13 = b.13

如果我改成inner join mission_item b on b.id=a.id 后面还要更一个条件要怎么写
比如inner join mission_item b on b.id=a.id and b.mission_id=13(这个是比如实现不了)大概这样有两条件 要怎么解决

先谢谢了
jimwoo 2009-05-07
  • 打赏
  • 举报
回复
update a set a.mission_status=2 from mission_book a inner join mission_item b on a.13 = b.13 where a.player_id=$user_id and a.mission_id=$mission_id
fudg1211 2009-05-07
  • 打赏
  • 举报
回复
先谢谢了 我看看去
xu54647265 2009-05-07
  • 打赏
  • 举报
回复
你这个语句写的太神了……
从来没见过update 接from的
liangCK 2009-05-07
  • 打赏
  • 举报
回复
update mission_book a
inner join mission_item b
on 13=13
set a.mission_status=2

34,587

社区成员

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

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