ora-00904::sql中的标识符无效

b1zrtrql  于 2021-08-09  发布在  Java
关注(0)|答案(1)|浏览(445)

我目前正在处理一个sql赋值,但首先我需要创建表,但它不允许我这样做。我有3张表,分别是客户表、采购表和使用表。我成功地创建了前两个表,但是在创建usage表时遇到了一点困难。不知什么原因,它给了我这个错误。

Error at line 2:
ORA-00904: : Invalid Identifier

如果有人能帮我理解为什么它会给我这个错误,我会非常感激。谢谢。它说它在uid int上有问题,我用putty来创建这些表。

CREATE TABLE Customer(
CustomerID INT NOT NULL PRIMARY KEY,
CustomerName VARCHAR(100),
Phone VARCHAR(15)
);

CREATE TABLE PurchasedDeal(
DID INT NOT NULL PRIMARY KEY,
dealName VARCHAR(100),
cost FLOAT,
totalValue FLOAT,
balance FLOAT,
CustomerID INT,
FOREIGN KEY(CustomerID) REFERENCES Customer(CustomerID)
);

CREATE TABLE Usage(
uID INT,
uDate DATE,
cost FLOAT,
DealID INT,
PRIMARY KEY(DealID, uID),
FOREIGN KEY(DealID) REFERENCES PurchasedDeal(DID)
);
sf6xfgos

sf6xfgos1#

术语“uid”在oracle中是保留的。在oracle环境中,此术语不能用作列名。查询:从t1中选择uid结果:将正确执行
查询:从x.t1中选择u.“uid”u结果:将通过错误:ora-00904:“u”。“uid”:无效标识符00904。00000-“%s:无效标识符”
查询:从x.t1中选择“uid”。结果:当uid替换为uid(大写)时,将正确执行
整改在下表,我们很好去。创建表用法(uid1 int,udate date,cost float,dealid int,主键(dealid,uid1),外键(dealid)references purchaseddeal\u test(did));

相关问题