2013-11-09 4 views
0

MySQL запросов:MySQL # 1064 Ошибка в PhpMyAdmin

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 для корректного синтаксиса использовать вблизи «CONSTRAINT TOTAL_ZERO ЧЕК (TOTAL> = 0), скованность ORD_FOREIGN_KEY ИНОСТРАННОЙ KE» в строке 8

+1

Вы уверены, что mysql? – Mihai

ответ

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 противопоказания.

+0

Кроме того, это не допустимое определение таблицы для MySQL с ограничением проверки. –

+0

@ Michael-sqlbot: вы можете определить ограничение проверки в MySQL. Он просто не используется двигателем. –

+0

Да, мой плохой. Я знал, что это не сработает, поэтому я никогда не пробовал. –

Смежные вопросы