ORA-00904:“ ID”:无效的标识符

use*_*351 3 sql oracle ddl foreign-keys

试图用外键创建表。我不断ORA-00904出错。我究竟做错了什么。是否因为尚未创建外键表?

CREATE TABLE ingredients( 
   ingredient_id       number(2,0),
   ingredient          VARCHAR2(55) NOT NULL,
   quantity_required   VARCHAR2(15) NOT NULL,
   optional_ingredient VARCHAR2(30) NOT NULL,
   CONSTRAINT pk_ingr_id PRIMARY KEY(ingredient_id),
   CONSTRAINT fk_ingredient_list FOREIGN KEY(id) REFERENCES ingredient_list(id)
);
Run Code Online (Sandbox Code Playgroud)

Mur*_*nik 5

看一下以下行:

CONSTRAINT fk_ingredient_list FOREIGN KEY(id) REFERENCES ingredient_list(id)
Run Code Online (Sandbox Code Playgroud)

您的表没有名为“ id”的列。我想你想写

CONSTRAINT fk_ingredient_list FOREIGN KEY(ingredient_id) REFERENCES ingredient_list(id)
Run Code Online (Sandbox Code Playgroud)

编辑:
此外,由于您怀疑自己,如果您想引用该ingredient_list表,则必须在创建ingredients引用它的表之前创建它。