问题描述
|
我正在使用5.1.41-3ubuntu12.10作为我的MysqL版本。
UPDATE profiledata SET aboutyou = \'$aboutyou\',quotes = \'$quotes\'
WHERE uid = \'$sess_uid\'
和
UPDATE profileprivacy
SET aboutyouPrivacy = \'$aboutyouPrivacy\',quotesPrivacy = \'$quotesPrivacy\'
WHERE uid=\'$sess_uid\'
$ sess_uid两者相同。我想知道是否可以将两个MySQL查询合并为一个MysqL_query。
我当时在想那大概是2英镑,不是很确定。
解决方法
您可以使用如下联接:
$query = \"UPDATE profiledata t1
JOIN profileprivacy t2 ON (t1.uid = t2.uid)
SET t1.aboutyou = \'$aboutyou\',t1.quotes = \'$quotes\',t2.aboutyouPrivacy = \'$aboutyouPrivacy\',t2.quotesPrivacy = \'$quotesPrivacy\'
WHERE t1.uid = \'$sess_uid\'\";
,MySQL确实具有多表更新支持:http://dev.mysql.com/doc/refman/5.0/en/update.html。
UPDATE profiledata,profileprivacy
SET aboutYou = ...,aboutyouPrivacy = ...
WHERE (profiledata.uid = $sess_uid) OR (aboutyouPrivacy.uid = $sess_uid)
或类似的方法应该可以解决问题。