Mysql更新加入?

Mysql更新加入?,mysql,Mysql,目前我正在像这样更新我的不同表 $q = $dbc -> prepare("UPDATE boardposts SET lastPosterID = ?, postOrder = NOW() WHERE postID = ?"); $q -> execute(array($user['id'], $_GET['view'])); $q = $dbc -> prepare("UPDATE accounts SET msgBoardPosts = msgBoardPosts+1 W

目前我正在像这样更新我的不同表

$q = $dbc -> prepare("UPDATE boardposts SET lastPosterID = ?, postOrder = NOW() WHERE postID = ?");
$q -> execute(array($user['id'], $_GET['view']));
$q = $dbc -> prepare("UPDATE accounts SET msgBoardPosts = msgBoardPosts+1 WHERE id = ?");
$q -> execute(array($user['id']));

是否可以将这些更新放在一个查询中?

是的,这是可能的,类似于:

UPDATE    boardposts AS bs 
left join accounts   AS a on bs.AccountId = bs.lastPosterId
set bs.lastPosterId = ?, bs.postOrder = NOW(),
    a.msgBoardPosts = msBoardPosts + 1
WHERE bs.postId = ?,
      a.id = ?
我现在不知道这两个表的结构,但这是基本思想,请参见以下语法:

更新[低优先级][忽略]表参考集。。。。 table_references子句列出了联接中涉及的表。描述了它的语法


是的,这是可能的,比如:

UPDATE    boardposts AS bs 
left join accounts   AS a on bs.AccountId = bs.lastPosterId
set bs.lastPosterId = ?, bs.postOrder = NOW(),
    a.msgBoardPosts = msBoardPosts + 1
WHERE bs.postId = ?,
      a.id = ?
我现在不知道这两个表的结构,但这是基本思想,请参见以下语法:

更新[低优先级][忽略]表参考集。。。。 table_references子句列出了联接中涉及的表。描述了它的语法


谢谢,我将实现这一点,我已经使用了2个查询,有时甚至3个,看起来我有一些编码要做!谢谢,我将实现这一点,我已经使用了2个查询,有时甚至3个,看起来我有一些编码要做!