我想限制mySql表列中的值以滿足規則,插入的新值必須大於任何現有值。由於我找不到UNIQUE
和AUTOINCREMENT
約束,我想問一下,如果在mySql中有可能達到這樣的功能。列約束:只允許增長值
0
A
回答
1
您必須使用before insert
觸發器來實現此功能。
MySQL支持檢查約束的語法,但它實際上並未實現邏輯。這留下觸發。
另外,如果您編輯問題並解釋列表代表什麼,可能會有其他選項。例如,對於id
類型的列,可以使用autoincrement
。如果它是某種累計總和,那麼或許存儲這些變化比存儲總數更有意義。
+0
謝謝。如果我正確理解AI,由於其+1增量(它不想通過通過'ALTER TABLE tbl AUTO_INCREMENT = 123'打AI偏移來破解它)而限制太大。必須有可能允許+ N增量。將該列作爲一系列數字,其中'next = last + N',其中'N> 0'。 – sharpener 2014-11-03 11:56:39
相關問題
- 1. ORACLE約束允許爲空值,如果
- 2. 爲什麼唯一約束只允許一個空值?
- 3. 如何在LiquiBase約束中指定允許值的列表?
- 4. Postgresql - 約束表中只有一行,不允許其他標誌
- 5. iOS約束不允許使用乘數
- 6. SQL外鍵約束不允許關係
- 7. 約束:07230001該值不是允許的值
- 8. 只允許在一個QTableWidget的列值
- 9. 只允許工作時間預約表
- 10. SQLite多列唯一約束允許重複
- 11. CHECK約束在列中允許X重複
- 12. 唯一約束允許空的一列中的Oracle
- 13. 允許讀只接受兩種長度
- 14. 與長度約束
- 15. 遞增值導致約束錯誤
- 16. 只允許特定的值只有
- 17. 改變長寬比約束值編程
- 18. PostgreSQL的檢查約束,只允許一兩個布爾變量爲True
- 19. Sql服務器 - 約束 - 只有列B爲空時才允許設置列A,反之亦然
- 20. 用於在限制長度內插入值的DB2列約束
- 21. 約束列表只取整數
- 22. Capistrano只允許'sudo su - user'允許
- 23. 列不允許有空值
- 24. 選擇列表允許值
- 25. 陣列允許不允許
- 26. 空約束,許多冬眠
- 27. LOC約束值
- 28. CHECK約束值
- 29. 如何約束SQL表中允許的記錄數?
- 30. 斯卡拉類型約束不允許空
您可以在插入前觸發觸發器。 – 2014-11-03 11:41:46