sql - M:N 关系 SQL 错误 00904 创建表时标识符无效
问题描述
我已经查找了如何创建 M:N 关系表。
这是我的 SQL 代码:
CREATE TABLE "product"(
"ProductID" INT PRIMARY KEY,
"ProductName" VARCHAR(25) NOT NULL,
"Price" NUMBER NOT NULL,
"Description" VARCHAR(25),
"Quantity" INT NOT NULL
);
CREATE TABLE "transaction"(
"TransactionID" INT PRIMARY KEY,
"Date" INT NOT NULL
);
CREATE TABLE "trade"(
"ProdID" INT REFERENCES "product"("ProductID"),
"TransID" INT REFERENCES "transaction"("TransactionID"),
"QuantityPurchased" INT NOT NULL,
PRIMARY KEY (TransID, ProdID)
);
当我运行它时,我得到:错误报告 - ORA-00904:“TRANSID”:无效标识符 00904。00000 -“%s:无效标识符”*原因:
*操作:
我的代码有什么问题吗?
解决方案
使用双引号使标识符(在本例中为列名)区分大小写。坚持一致的引用,你应该没问题:
CREATE TABLE "trade"(
"ProdID" INT REFERENCES "product"("ProductID"),
"TransID" INT REFERENCES "transaction"("TransactionID"),
"QuantityPurchased" INT NOT NULL,
PRIMARY KEY ("TransID", "ProdID")
-- Here -----^-------^--^------^
);
推荐阅读
- java - 如何更改 JPA 中的排序 - Spring Framework Database
- matlab - 大 O 的时间复杂度
- java - Gson 反序列化为 JsonObject 而不是某个对象
- r - 导入包含多个 .csv 文件的文件夹并在 R 中一次操作所有数据框
- swift - 如何在 UIKit 中使用 SF Rounded
- reactjs - 当喜欢的图标是红色时,发布到 api
- c# - 使用 C# asp.net 的 Google My Business Insights api
- ios - 在 ResearchKit 中进行调查之前需要征得同意
- jquery - JQuery 可嵌套和可排序限制
- javascript - 无法在 ui:composition 和 ui:define 中将 div 转换为 pdf