ORA-00907:缺少右括号

5 sql oracle ora-00907

CREATE TABLE Persons (
  P_Id int NOT NULL,
  LastName varchar(255) NOT NULL,
  FirstName varchar(255),
  PRIMARY KEY (P_Id)
)

CREATE TABLE Orders (
  O_Id int NOT NULL PRIMARY KEY,
  OrderNo int NOT NULL,
  P_Id int FOREIGN KEY REFERENCES Persons(P_Id)
)
Run Code Online (Sandbox Code Playgroud)

我在创建表格订单时遇到错误:

ORA-00907:缺少右括号

Cha*_*ndu 11

如果要使用列定义内联定义外键,则不应指定FOREIGN KEY.从定义中删除它.

试试这个:

CREATE TABLE Orders 
( 
  O_Id int NOT NULL PRIMARY KEY, 
  OrderNo int NOT NULL,
  P_Id int REFERENCES Persons(P_Id)
)
Run Code Online (Sandbox Code Playgroud)

  • 在搜索并被驱使疯狂之后,我经常不得不定义新的命名约束来声明外键,这正是实际需求.W3schools.com目前的Oracle fk定义标准不正确 (2认同)