2016-04-14 5 views
-1

Я пытаюсь создать таблицу (заказы) с некоторыми внешними ключами, используя этот оператор запроса,SQL Error: Invalid имя таблицы

CREATE TABLE orders 

) 
order_id VARCHAR2(20), 
item_id  VARCHAR2(30) CONSTRAINT item_id_not_null NOT NULL, 
quantity_id VARCHAR2(30) CONSTRAINT quantity_id_not_null NOT NULL, 
customer_id VARCHAR2(30) CONSTRAINT mobile_no_not_null NOT NULL, 
CONSTRAINT order_pk PRIMARY KEY(order_id), 
CONSTRAINT fk_customer FOREIGN KEY (customer_Id) REFERENCES ORDER(customer_Id), 
CONSTRAINT fk_item FOREIGN KEY (item_Id) REFERENCES ORDER(item_Id), 
CONSTRAINT fk_quantity FOREIGN KEY (quantity_Id) REFERENCES ORDER(quantity_Id) 
); 

я получаю следующее назад

SQL Error: ORA-00903: invalid table name 00903. 00000 - "invalid table name"

+0

Я уже использовал заказы на имя таблицы. –

+1

Вам нужно использовать '(' прямо после имени таблицы, а не ')' –

ответ

2

Eсть опечатка в определениях FK. Таблица должна быть ORDERS, а не ORDER, которая является зарезервированным ключевым словом.

+0

. Я уже использовал заказы имен таблиц. –

+0

Я имею в виду «CONSTRAINT fk_customer FOREIGN KEY (customer_Id) СПРАВОЧНЫЙ ЗАКАЗ (customer_Id) ....» –

+1

Вы пытаетесь ссылаться на таблицу ORDER здесь, которая, если вы не объявляете и не используете ее в двойных кавычках, вы не можете использовать эту ключевое слово. –

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