0

MySQL查询:

CREATE TABLE ORD( ORDID NUMERIC( 4 ) NOT NULL , ORDERDATE DATE, COMMPLANCHAR( 1 ) , CUSTID NUMERIC( 6 ) NOT NULL , SHIPDATE DATE, TOTAL NUMERIC( 8, 2 ) CONSTRAINT TOTAL_ZERO CHECK (

TOTAL >=0
), CONSTRAINT ORD_FOREIGN_KEY FOREIGN KEY ( CUSTID ) REFERENCES CUSTOMER( CUSTID ) , CONSTRAINT ORD_PRIMARY_KEY PRIMARY KEY ( ORDID ) ) ;

MySQL 说:文档

#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 8 行的“CONSTRAINT TOTAL_ZERO CHECK (TOTAL >= 0), CONSTRAINT ORD_FOREIGN_KEY FOREIGN KE”附近使用正确的语法

4

1 回答 1

0

你错过了一个逗号和一个空格

CREATE TABLE ORD
( 
  ORDID NUMERIC( 4 ) NOT NULL, 
  ORDERDATE DATE, 
  COMMPLAN CHAR( 1 ), 
  CUSTID NUMERIC( 6 ) NOT NULL, 
  SHIPDATE DATE, 
  TOTAL NUMERIC( 8, 2 ),
  CONSTRAINT TOTAL_ZERO CHECK (TOTAL >= 0), 
  CONSTRAINT ORD_FOREIGN_KEY FOREIGN KEY ( CUSTID ) REFERENCES CUSTOMER( CUSTID ), 
  CONSTRAINT ORD_PRIMARY_KEY PRIMARY KEY ( ORDID ) 
);

AFAIK MySQL 忽略了check约束。

于 2013-11-09T14:24:44.600 回答