2011-05-26 83 views
16

我想在表X中每次選擇任何記錄時在表X上運行插入語句有無論如何,我可以使用MYSQL來完成該操作? 類似觸發器?我可以在mysql中的select語句上啓動觸發器嗎?

謝謝

+2

簡短答案是**否**。觸發器由'INSERT','UPDATE'或'DELETE'觸發。 – 2011-05-26 11:49:53

+0

好的還有其他解決方案嗎? – 2011-05-26 11:50:52

+0

更新select上的每一行都會導致批量操作的性能頭痛。最好專門更新最後訪問的時間戳,以便在這種情況下有意義的操作。 – 2017-05-04 22:20:16

回答

20

簡答題是否。觸發器由INSERT,UPDATEDELETE觸發。

這個(怪異)塞納里奧可能的解決辦法:

  • 首先,寫一些存儲過程 是做SELECT是你想上 表X.
  • 然後,限制所有用戶只使用 這些存儲過程並不要求 允許他們使用SELECT表 X.
  • 然後改變存儲過程爲 也調用存儲過程 執行您想要的動作 (INSERT或其他)的程序。
4

都能跟得上 - 你不能選擇觸發 - 你必須創建一個存儲過程(或任何其他類型的日誌記錄功能 - 就像一個日誌文件或什麼都),您隱調用任何查詢語句 - 如果創建調用查詢的包裝器,則調用日誌記錄並返回查詢結果更容易。

相關問題