我想限制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. 如何在LiquiBase約束中指定允許值的列表?
- 3. Postgresql - 約束表中只有一行,不允許其他標誌
- 4. 約束:07230001該值不是允許的值
- 5. iOS約束不允許使用乘數
- 6. SQL外鍵約束不允許關係
- 7. 只允許在一個QTableWidget的列值
- 8. SQLite多列唯一約束允許重複
- 9. 唯一約束允許空的一列中的Oracle
- 10. 允許讀只接受兩種長度
- 11. 只允許特定的值只有
- 12. 改變長寬比約束值編程
- 13. 約束條件只允許兩個表中的一個引用基表
- 14. Sql服務器 - 約束 - 只有列B爲空時才允許設置列A,反之亦然
- 15. 約束列表只取整數
- 16. 選擇列表允許值
- 17. 列不允許有空值
- 18. 陣列允許不允許
- 19. 空約束,許多冬眠
- 20. CHECK約束值
- 21. 是否訪問SQL允許刪除默認的約束?
- 22. ORA-02253 ORA-02253:約束規範這裏不允許
- 23. OCL是它允許寫操作的約束和屬性
- 24. SQL Server的約束子查詢不允許
- 25. 如何約束SQL表中允許的記錄數?
- 26. 如何指定.NET泛型約束中不允許的類型?
- 27. 非泛型聲明不允許使用約束條件C++
- 28. 受限制的XPath(約束)允許什麼?
- 29. 非通用聲明中不允許使用約束條件
- 30. 自動驗證存在SQL哪裏約束不允許爲空
您可以在插入前觸發觸發器。 – 2014-11-03 11:41:46