例如我用下面的命令來查找記錄選擇,刪除和從MySQL中使用單個查詢
SELECT `users`.`mail`
FROM `users`
WHERE `users`.`uid` = %s
multible表更新,如果找到了一個匹配的話,我想刪除此記錄,並更新在同一個查詢中另一個表。我可以用'連接'來解決這個問題嗎?
例如我用下面的命令來查找記錄選擇,刪除和從MySQL中使用單個查詢
SELECT `users`.`mail`
FROM `users`
WHERE `users`.`uid` = %s
multible表更新,如果找到了一個匹配的話,我想刪除此記錄,並更新在同一個查詢中另一個表。我可以用'連接'來解決這個問題嗎?
如果找到匹配項,那麼我想刪除此記錄,並在同一個查詢中更新另一個表。我可以用'連接'來解決這個問題嗎?
沒有使用單個SQL查詢,
但是,您可以在單個stored procedure內使用單獨的SQL查詢執行這些操作。這比從您的應用程序中單獨提交三個查詢要快,因爲沒有時間/性能通過線路來回傳輸數據(往返於您的應用程序代碼)。
我認爲你想要選擇然後刪除的唯一原因是你自己做了這件事,並且想要確保你刪除了正確的東西。喜歡的東西
DELETE FROM users.mail用戶WHERE users.uid =%s的
將返回0,如果刪除任何行或行數它刪除。你可以檢查回報,並根據它來決定要更新什麼...
如果你的目標是提高性能,你可以使用一個單一的CALL調用數據庫,使用一個存儲過程2裏面的不同查詢。
你知道你的用戶名每次都會讓我崩潰。但是當我在開車的時候,當我在田野裏看到他們時,我仍然會去「horsie」。 – HLGEM 2010-03-31 21:01:42
就在這一刻,我們都是這樣或那樣的所有人,因爲我認爲這是來自SO的愚人節笑話。 – Smandoli 2010-04-01 03:37:51