ORA-00903:表名无效。我不知道为什么

时间:2013-11-19 13:51:06

标签: sql oracle

我想创建一个表但是我收到了这个错误。 我知道桌子不存在。

create table Comenzi_Livrare
(ID_Comanda number(8),
CUI_Mag number(8),
ID_Client number(8),
data_comanda date,
constraint pk_ID_COMANDA primary key (ID_comanda),
constraint fk_cui_mag foreign key (CUI_Mag) references (Magazin),
constraint fk_ID_CLIENT foreign key (ID_Client) references (Clienti));

4 个答案:

答案 0 :(得分:3)

您需要在外键关系的父表中指定表名和列名。

按照目前的说法,MagazinClienti被解释为列名,每个名称都缺少一个表名。

我不知道父表中的列名,但这个例子可以帮助你:

create table Comenzi_Livrare
(
ID_Comanda number(8),
CUI_Mag number(8),
ID_Client number(8),
data_comanda date,
constraint pk_ID_COMANDA primary key (ID_comanda),
constraint fk_cui_mag foreign key (CUI_Mag) references Magazin (CUI),
constraint fk_ID_CLIENT foreign key (ID_Client) references Clienti (ID)
);

答案 1 :(得分:0)

检查数据库中是否存在表:MagazinClienti 发生此错误是因为Oracle不知道这些表。

答案 2 :(得分:0)

您可能希望将单词“number”更改为int。

create table Comenzi_Livrare
(ID_Comanda int(8),
CUI_Mag int(8),
ID_Client int(8),
data_comanda date,
constraint pk_ID_COMANDA primary key (ID_comanda),
constraint fk_cui_mag foreign key (CUI_Mag) references (Magazin),
constraint fk_ID_CLIENT foreign key (ID_Client) references (Clienti));

答案 3 :(得分:0)

您在fk_cui_mag约束

上缺少表名

它应该是:

CONSTRAINT fk_column
    FOREIGN KEY (column1, column2, ... column_n)
    REFERENCES parent_table (column1, column2, ... column_n)