我想限制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