好吧,所以我现在已经使用SQL一段时间了......可能已经连续3年了。我说我在这方面表现得相当不错,但话说回来,我从来没有完全理解这个"加入" SQL中的函数。教程和什么也没有帮助我。
我今天一直在摆弄它,我仍然无法让它工作;
<?php
include($_SERVER['DOCUMENT_ROOT'].'/includes/constants.php');
$sql = "UPDATE users SET health = store.type_value - health WHERE uid = :uid INNER JOIN store AS store WHERE iid = :iid";
$que = $db->prepare($sql);
$que->bindParam('uid', $_SESSION['uid']);
$iid = '1';
$que->bindParam('iid', $iid);
try{$que->execute();}catch(PDOException $e){ echo $e->getMessage(); }
?>
有人可以向我解释如何纠正这个问题吗?
答案 0 :(得分:2)
如果您使用的是MySQL,那么join
会超越set
声明:
update users join
store
on users.uid = :uid and iid = :iid
set health = store.type_value - health;
这将两个条件都放在on
子句中。然而,这是一个奇怪的情况,我怀疑它不是你真正想要的。 users
和stores
之间的连接键是什么?
如果您使用的是SQL Server,那么join
{/ 1}} 之后的from
子句
set