【发布时间】:2018-03-11 00:22:08
【问题描述】:
谁能帮我正确编写 MYSQL 中的 CHECK CONSTRAINT 的正确语法。我的表如下,在为 STATUS 声明 CHECK 约束时出错。
CREATE TABLE EventRequest (
EventNo CHAR(8) NOT NULL,
DateHeld DATE NOT NULL,
DateReq DATE NOT NULL,
FacNo CHAR(8)NOT NULL,
CustNo CHAR(8) NOT NULL,
DateAuth DATE,
Status CHAR(8)NOT NULL,
EstCost DECIMAL(9,4)NOT NULL,
EstAudience INT(6) NOT NULL,
BudNo VARCHAR2(8),
CONSTRAINT PK_EVENTREQUEST PRIMARY KEY (EventNo),
CONSTRAINT FK_FACNO FOREIGN KEY (FacNo) REFERENCES FACILITY (FacNo),
CONSTRAINT FK_CUSTNO FOREIGN KEY (CustNo) REFERENCES CUSTOMER (CustNo),
CONSTRAINT Check_Status
CHECK (Status IN ('Approved','Pending','Denied') ) ) ;
【问题讨论】:
-
VARCHAR2看起来很奇怪? -
我认为
CHECK CONSTRAINT,VARCHAR2仅在Oracle中受支持,Mysql中不支持。
标签: mysql sql check-constraints