Sql ORA-00904::Oracle Life数据库中的标识符无效
即使我以脚本的形式运行它,也会出现错误。首先,我没有使用'wrent_id',仍然有错误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
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中,最好不要使用双引号来创建不区分大小写的名称。