【问题标题】:SQL: Missing keyword, Foreign keySQL:缺少关键字,外键
【发布时间】:2011-11-02 05:07:46
【问题描述】:

我正在尝试使用外键创建表,但我不断收到缺少关键字的错误。关于可能导致问题的任何标题?

 Create table CAR
(vin varchar2(7),
SaleDate date,
SalePrice number (7,2),
Balance_due number (7, 2),
date_bought date,
miles number(6), 
CONSTRAINT pkcar PRIMARY KEY(vin),
CONSTRAINT fkcar1 FOREIGN KEY(BrName) REFRENCES BRANCH,
CONSTRAINT fkcar4 FOREIGN KEY(CarTypeCode) REFRENCES CARTYPE,
CONSTRAINT fkcar2 FOREIGN KEY(BuyerId) REFRENCES CUSTOMER,
CONSTRAINT fkcar3 FOREIGN KEY(SellerId) REFRENCES CUSTOMER);

错误内容如下: 第 9 行出错:ORA-00905:missing keyword

我已经创建了其他表(BRANCH、CARTYPE、CUSTOMER)并将它们的主键设置为(BrName、CarTypeCode、CustId)。

【问题讨论】:

  • REFRENCES 我猜应该是参考文献..

标签: sql oracle create-table


【解决方案1】:

REFRENCES 拼写为REFERENCES

【讨论】:

    【解决方案2】:

    REFRENCES 应该是我猜的引用 .. 并且您没有指定父表 CONSTRAINT fk_column 的列 外键 (column1, column2, ... column_n) REFERENCES parent_table (column1, column2, ... column_n)

    【讨论】:

    • 在标准 SQL 中,当通过 PRIMARY KEY(而不是通过 UNIQUE 约束)引用时,不需要指定被引用表中的列,看起来 mySQL 不兼容。 p.s. “我猜应该是引用”——正确,这就是我们说“引用表”的原因。术语“父表”意味着一种不同的关系。
    猜你喜欢
    • 2012-09-26
    • 2016-11-09
    • 1970-01-01
    • 1970-01-01
    • 2018-02-24
    • 2021-01-20
    • 2015-04-15
    • 1970-01-01
    • 2018-07-24
    相关资源
    最近更新 更多