關於MySQL的更一般性問題。 我想知道可以/應該直接在SQL級別執行多少檢查。例如,我正在構建一個管理員可以發佈貼圖的論壇。 當前,發佈消息時,PHP會檢查用戶的會話以查看該用戶是否爲管理員。 我的問題是:如果user_is_admin在當前正在嘗試發佈消息的用戶的user_id爲真時,是否有一種方法可以創建只將新主題作爲sticky(stick = true)插入的INSERT查詢? 這樣做可能嗎?MySQL插入前檢查
0
A
回答
1
要回答你問題的第一部分(是否有可能?),是的,這是可能的。
MySQL有一個IF函數,可以在INSERT和UPDATE語句中使用,根據語句範圍內的其他因素設置列的值。
語法是IF(expr,if_true_expr,if_false_expr),所以它的作用有點像PHP,C,Java等中的三元運算符。請參閱http://www.mysqltutorial.org/mysql-if-function.aspx。
至於它是否可取,那取決於整體上下文,但通常使用特定於供應商的SQL會使應用程序的可移植性降低。此外,邏輯在PHP和SQL之間被拆分,因此可能不太容易理解和重構,對DB結構的更改會破壞SQL代碼,您不太可能意識到使用處理SQL層的MVC框架的好處你等等,所以不可取。
相關問題
- 1. 檢查mysql插入查詢
- 2. PHP PDO在MySQL中插入Longditude/latituded並檢查插入之前是否存在
- 3. 在插入或更新之前檢查MySQL行中的數據
- 4. 在插入到mysql之前檢查數據(url變量)
- 5. MySQL程序檢查插入之前是否存在記錄
- 6. 幫助與MySQL觸發器(檢查插入前的值)
- 7. 插入值之前的MySQL觸發器檢查
- 8. 如何在插入MySQL之前檢查字符串長度?
- 9. PHP如何檢查存在之前插入數據到mysql
- 10. MySQL觸發器在插入多次之前檢查值
- 11. 在插入到MySQL數據庫之前檢查數據
- 12. Mysql - 在插入另一個表之前檢查表
- 13. MySQL - COUNT之前插入一個查詢
- 14. 在插入前檢查現有記錄
- 15. 在插入之前檢查sql netezza
- 16. 在導入mysql之前檢查數據
- 17. 檢查mysql數據表插入到
- 18. php插入檢查項目到mysql
- 19. mySQL插入查詢
- 20. 插入MySQL查詢
- 21. 檢查插入值
- 22. Mysql的前一行檢查
- 23. Postgresql檢查插入輸入
- 24. 阿賈克斯和MySQL插入,檢查和檢索
- 25. 插入行之前的SQL查詢檢查條件
- 26. 在使用php 5.3插入之前檢查MySQL行中的數據
- 27. 在PHP腳本中插入MySQL DB之前檢查值是否存在
- 28. PHP/MySQL的 - 檢查插入新記錄之前,是否有重複記錄
- 29. MySQL:插入,更新和檢查單個查詢
- 30. 如何插入搜索查詢到MySQL - 檢查雙字
最好的軟件用戶體驗不會爲無權做出這些選擇的用戶提供選擇。 –
當然。這就是爲什麼非管理員甚至不會看到這些選項。 –
您可以將用戶信息作爲參數傳遞給數據庫,並在那裏執行邏輯。就我個人而言,我更喜歡在應用程序代碼中執行我的邏輯。 –