簡體   English   中英

一次更新兩個表

[英]update two tables at once

我的 MySQL 版本使用 5.1.41-3ubuntu12.10。

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 中。

我在想它會像SET profiledata.aboutyou = 'Just a developer.' ,不太確定。

您可以使用這樣的連接:

$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 does have multi-table update support: 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)

或類似的東西應該可以解決問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM