W3Schools说:
CHECK约束用于限制可以放置在列中的值范围。 如果我们在单个列上定义了一个CHECK约束,那么它只允许该列的某些值。 如果我们对一个表定义一个CHECK约束,它可以根据该行中其他列中的值来限制某些列中的值。
从设计web应用程序的角度来看,在DB上添加这个约束无疑有助于我避免数据损坏,并且在我的web应用程序的验证层可以避免检查字段级数据的额外验证级别。我在这里看到的唯一问题是,从数据库返回的错误消息是没有意义的,可以显示给最终用户。
你觉得这个怎么样?或者我会问,在什么情况下,您使用了这个约束?
发布于 2011-05-04 11:25:14
检查约束(与其他约束一样)是为了保证额外的一致性,但它们不能用于替换应用程序中的验证逻辑,正如您提到的那样,应用程序应该显示有意义的错误消息,并在访问数据库之前(至少)在表示层执行。
即使它们看起来像是验证逻辑的重复,约束仍然是有用的,因为
https://stackoverflow.com/questions/5882510
复制相似问题