Sql ORA-00904::Oracle Life数据库中的标识符无效

Sql ORA-00904::Oracle Life数据库中的标识符无效,sql,oracle,Sql,Oracle,即使我以脚本的形式运行它,也会出现错误。首先,我没有使用'wrent_id',仍然有错误 CREATE TABLE want_renting ( 'wrent_id' int NOT NULL PRIMARY KEY, 'property_id' int, 'client_id' int, 'agent_id' int, 'wrent_date' date, 'expired_date' date, CONSTRAINT 'f

即使我以脚本的形式运行它,也会出现错误。首先,我没有使用'wrent_id',仍然有错误

CREATE TABLE want_renting ( 
    'wrent_id' int NOT NULL PRIMARY KEY, 
    'property_id' int, 
    'client_id' int, 
    'agent_id' int, 
    'wrent_date' date, 
    'expired_date' date, 
    CONSTRAINT 'fk_property'  FOREIGN KEY ('property_id') REFERENCES 'property'('property_id'), 
    CONSTRAINT 'fk_client'  FOREIGN KEY ('client_id')  REFERENCES 'clients'('client_id'), 
    CONSTRAINT 'fk_agent'  FOREIGN KEY ('agent_id')  REFERENCES 'agents'('agent_id'),  
);
ORA-00904: : invalid identifier

从查询中删除引号。引号用于定义字符串,而不是在表创建期间使用

CREATE TABLE want_renting ( 
wrent_id int NOT NULL PRIMARY KEY, 
property_id int, 
client_id int, 
agent_id int, 
wrent_date date, 
expired_date date, 
CONSTRAINT fk_property  FOREIGN KEY (property_id) REFERENCES 
property(property_id), 
CONSTRAINT fk_client  FOREIGN KEY (client_id)  REFERENCES clients(client_id), 
CONSTRAINT fk_agent  FOREIGN KEY (agent_id)  REFERENCES agents(agent_id)  
);

并确保所有其他表都引用了外键。

我删除了引号和无效标识,然后检查是否有所有这些表的属性、客户端和代理,如Salmon所说,删除最后一个约束末尾的逗号。使用查询,have edited在最后一个约束后有一个多余的逗号。投票以打字错误结束。您使用的是单引号,您应该使用双引号,并且有多余的逗号。这些都是打字错误。我部分不同意@GordonLinoff。他在单引号和双引号的技术上是正确的。然而,我不同意“应该使用双引号”。如果使用双引号创建对象名(表名、列名等),则创建的是区分大小写的名称。今后所有对这些名称的引用都必须使用双引号,且大小写完全匹配。在oracle中,最好不要使用双引号来创建不区分大小写的名称。