首页 > 解决方案 > 运行代码时,Java Derby 数据库中出现此外键错误

问题描述

运行代码时,Java Derby 数据库中出现此外键错误

CREATE TABLE PURCHASE (
    $PURCHASEID INT NOT NULL GENERATED ALWAYS AS IDENTITY,$
    $PURCHASEDATE DATE,$
    $PURCHASEQUANTITY INT,$
    $CHICPRICE DOUBLE,$
    $CUSTNIC VARCHAR(14) NOT NULL,$
    $PRIMARY KEY (PURCHASEID)$
       $ FOREIGN KEY (CUSTNIC) REFERENCES CUSTOMER(CUSTNIC)$
);

[异常,错误代码 30,000,SQLState 42X01] 语法错误:在第 8 行第 9 列遇到“FOREIGN”。第 8 行第 9 列

标签: javasqlderby

解决方案


如果在主键后加逗号,它应该可以正常工作

CREATE TABLE PURCHASE (
    $PURCHASEID INT NOT NULL GENERATED ALWAYS AS IDENTITY,$
    $PURCHASEDATE DATE,$
    $PURCHASEQUANTITY INT,$
    $CHICPRICE DOUBLE,$
    $CUSTNIC VARCHAR(14) NOT NULL,$
    $PRIMARY KEY (PURCHASEID),$
       $ FOREIGN KEY (CUSTNIC) REFERENCES CUSTOMER(CUSTNIC)$
);

推荐阅读