我對SQL的瞭解有限,請事先道歉,如果它很明顯。我有一個select查詢,返回一個'未讀'消息的結果集,並與我正在處理的簡單Web應用程序的用戶表(稱爲作者)的表中的發件人ID匹配。使用左連接從選擇查詢進行更新
作者:
aId int(20) NO PRI NULL auto_increment
aUser varchar(30) NO UNI NULL
aPass varchar(40) NO NULL
aEmail varchar(30) NO UNI NULL
aBio mediumtext YES NULL
aReg datetime NO NULL
消息:
msgId int(20) NO PRI NULL auto_increment
mSender int(20) NO MUL NULL
mReciever int(20) NO MUL NULL
mTitle tinytext NO NULL
mBody mediumtext NO NULL
mRead tinyint(4) NO NULL
mDate datetime NO NULL
的選擇查詢我使用的是(韓國社交協會瑪蒂娜):
SELECT messages.mTitle, messages.mBody, messages.mDate, authors.aUser
FROM messages LEFT JOIN authors on aId=mSender WHERE mReciever = '$aId' AND mRead = '0'
$幫助表說明如下是一個php會話變量,它包含活動用戶的用戶標識。我的PHP應用程序將假設,因爲這'未讀'消息已被處理它現在閱讀,任何人都可以協助修改上述查詢也更新mRead爲1,表明它是從現有的職位閱讀,在這裏我讀你可以在同一個SQL語句中用UPDATE進行選擇,會不會有另一種解決方法,我離正確的解決方案有多遠? 非常感謝提前。
你爲什麼不只是運行'UPDATE'在SELECT之後查詢? – 2013-03-23 16:36:46