-2

如何将此INSERT语句转换为UPDATE使用 MYSQL 的语句?该表filmInfo引用actorsInfo具有外键id_actor的表actorsInfo.id

可能是一个更好的方法来做到这一点,但这就是我现在所拥有的。

$sql="INSERT INTO filmInfo (filmTitle, filmRole, filmDirector, id_actor)
VALUES
('$_POST[filmTitle]','$_POST[filmRole]','$_POST[filmDirector]', 
( select id FROM actorsInfo WHERE email = '$_SESSION[email]'))";

这是我的有效查询。

$query="SELECT filmTitle, filmRole, filmDirector, idfilm FROM filmInfo, actorsInfo
WHERE (actorsInfo.id = filmInfo.id_actor) AND email = '$_SESSION[email]'";

我试过这个但UPDATE不起作用:

$sql= "Update filmInfo  join actorsInfo 
ON actorsInfo.id = filmInfo.id_actor
Set 
filmTitle = '$filmTitle',
filmRole = '$filmRole',
filmDirecto = '$filmDirector'
WHERE (actorsInfo.id = afillInfo.id_actor) AND email = '$_SESSION[email]'";

请帮忙!

4

1 回答 1

1

这应该这样做:

$sql= "Update filmInfo  join actorsInfo 
ON actorsInfo.id = filmInfo.id_actor
Set 
filmTitle = '$filmTitle',
filmRole = '$filmRole',
filmDirecto = '$filmDirector'
WHERE email = '$_SESSION[email]'";

您在 中引用afillInfo.id_actorWHERE但查询中没有提到这样的表。所有连接条件都应该在ON子句中。

于 2013-09-26T01:29:07.680 回答