SQL 冗余 NOT NULL 约束

标签 sql constraints

当我添加一些约束时,例如:

 create table Test(
  IDTest int primary key,
  Credit int not null constraint Credit check (Credit >= 0)
 );

在这种情况下不是 not nullCredit多余的,因为我添加了一个约束 Credit必须大于0?

最佳答案

不,这不是多余的。

A CHECK如果条件不是 FALSE,则约束接受一个值,所以不管是TRUEUNKNOWN .

如果您的列中允许空值,则 NULL >= 0将评估为 UNKNOWN并将通过测试。

关于SQL 冗余 NOT NULL 约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9554692/

相关文章:

ios - 可视化调试器中的灰色约束是什么意思?

ios - Xcode Storyboard - 约束大于或等于不起作用

sql - 使用子查询进行选择在 sqlite 中大约需要 1 分钟,在 SQL Server 中大约需要 1 秒

sql - 如何使用postgresql中的存储过程将数据插入表中

java - 如何使用 BindBeans 将字符串列表输入到 SQL

SQL Server 2008-获取表约束

sql - 每分钟交叉连接时间序列postgresql

mysql - 临时表自动递增

iOS 8 - 查找具有标识符的 UIView 的约束

ruby-on-rails - 如何使用 RSpec 测试路由约束