1
A
回答
3
在大多數數據庫中,您會使用check
約束。 MySQL允許你聲明檢查約束,但目前不強制執行:
alter table t add constraint chk_t_col check (col between 0 and 4194303);
(更具體地講,沒有一個支持的存儲引擎的執行檢查約束)
相反,你需要插入之前使用並在更新之前觸發以驗證該值。也許未來的版本實際上會強制執行檢查約束,並允許它們被聲明。
如果你不熟悉觸發器,你不應該從Stack Overflow複製代碼。相反,首先了解它們。一個好的開始是documentation。
相關問題
- 1. 給予SQL列的範圍
- 2. SQL加入限制範圍
- 3. 限制範圍
- 4. 限制範圍
- 5. 限制下拉列表的範圍
- 6. SQL查詢數據範圍限制
- 7. Isabelle的範圍限制/域名限制
- 8. MySQL的限制範圍
- 9. 範圍限制的難題
- 10. 限制scipy.signal.correlate的範圍
- 11. 限制NamedPipeServerStream的範圍
- 12. 如何限制melody_rnn輸出範圍到給定的音高列表?
- 13. SQL - 日期範圍落在給定日期範圍之間
- 14. __device__限定符的範圍
- 15. 使用R中的data.table將列限制到特定範圍
- 16. 限制SQL主鍵,把一定範圍內
- 17. 計數列值的範圍指定 - SQL
- 18. 限制WMS瓷磚範圍
- 19. 限制UIAppearance代理範圍
- 20. MYSQL - 限制範圍之內
- 21. AWS IP範圍SSH限制
- 22. Ç - 限制結構範圍
- 23. angularjs限制指令範圍
- 24. 限制年份範圍
- 25. 限制變量範圍
- 26. 限制日期範圍與MS SQL/SQL Server 2005的
- 27. 對於給定的範圍
- 28. 與給定的範圍
- 29. Coffeescript範圍給予無限的結果
- 30. 列的總和範圍SQL
謝謝戈登,「支票」正是我所希望的。我添加了我編輯過的文章中描述的觸發器,但是,它並沒有阻止插入「id」爲123的記錄。你介意指出我做錯了什麼嗎?謝謝 – user1032531
沒關係我的要求看觸發器。完美的作品。仍然會很高興支持'check',但一切都很好。再次感謝。 – user1032531