menu

在路上

我们走入生活,总以为前方会有莫大的幸福在等待着自己.但是蓦然回首,才发现幸福其实就在点点滴滴流逝的时光中

Avatar

MySQL 5.0新特性之视图

Example: Constraint checks 示例:约束条件检查

MySQL支持NOT NULL的列约束,如:

CREATE TABLE t (

column1 INT NOT NULL,

column2 INT NOT NULL);


这并非MySQL约束的全部功能,但是还是不能做到只允许两列中其中一列可以为空或者让列1数值在1到5之间,又或者使列1在某些特殊情况下可以为空。不过,我们可以使用视图的定义通过下面的方法实现:

CREATE TABLE t (column1 INT, column2 INT);

CREATE VIEW v AS

SELECT column1, column2 FROM t

WHERE (column1 is NOT NULL OR column2 IS NOT NULL)

AND column1 BETWEEN 1 AND 5

WITH CHECK OPTION;


之后就可以通过对视图v进行插入或更新,达到我前面所需要的效果,在特殊情况下允许为空。

评论已关闭