簡體   English   中英

在選擇語句中更新mysql

[英]Update mysql in select statement

我的問題很容易解釋:在純ftp的配置文件中,只有一個INSERT-Statement允許讀取密碼。 就像這樣:

SELECT password FROM ftpuser WHERE userid = "\L"

“ \\ L”是用戶標識的占位符。 它工作正常,但是我需要計算對ftp服務器的訪問量。 該表中有一個稱為“已訪問”的字段。 因此,我也需要運行以下SQL:

UPDATE ftpuser SET accessed = accessed + 1 WHERE userid = "\L"

有什么辦法可以將這兩個語句合而為一,結果是“ password”? 還是有另一種方法可以觸發來自純FTP的訪問? 非常感謝你!

塞巴斯蒂安

如果是保留原子性的問題,那么如果您的表是使用事務引擎(例如InnoDB)存儲的,則可以將整個內容包裝在具有鎖定讀取的事務中:

START TRANSACTION;
SELECT password FROM ftpuser WHERE userid = '\L' FOR UPDATE;
UPDATE ftpuser SET accessed = accessed + 1 WHERE userid = '\L';
COMMIT;

暫無
暫無

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

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