SQL Server:
CREATE TABLE Credentials
(
UserName VARCHAR(20) NOT NULL,
UserPassword VARCHAR(20)
CONSTRAINT chk_constraint CHECK (UserPassword <> UserName) NOT NULL,
)
我得到这个错误:
列检查约束,列'UserPassword'引用另一个列,表(凭据)。
您只是想创建一个独立的检查约束,所以像这样修改它:
CREATE TABLE Credentials
(
UserName VARCHAR(20) NOT NULL,
UserPassword VARCHAR(20) NOT NULL,
CONSTRAINT chk_constraint CHECK (UserPassword <> UserName)
)
您正在定义列级约束,
在列级约束中,只能为特定的列定义约束。
对于您的需求,您应该使用表级约束,从这里您可以为多个列定义约束,如:
CREATE TABLE Credentials
(
UserName VARCHAR(20) NOT NULL,
UserPassword VARCHAR(20) NOT NULL,
CONSTRAINT chk_constraint CHECK (UserPassword <> UserName)
)