gpt4 book ai didi

java - "Missing columns in relationship"创建表时

转载 作者:行者123 更新时间:2023-11-30 07:40:06 27 4
gpt4 key购买 nike

我尝试创建三个表(CUSTOMERS、VEHICLES 和 RENTALS),第三个表(RENTALS)有引用前两个表(CUSTOMERS 和 RENTALS)的两个主键的外键。创建第三个表时出现错误 Missing columns in relationship(Rel=CUSTOMERS[[]] -> RENTALS[[]])

这是我的代码

     private void createTables() throws SQLException {
Statement statement = conn.createStatement();
statement.executeUpdate("CREATE TABLE CUSTOMERS(custNumber AUTOINCREMENT PRIMARY KEY, " +
"firstName VARCHAR(155) NOT NULL, surname VARCHAR(155) NOT NULL, idNum INTEGER NOT NULL, phoneNum INTEGER NOT NULL, canRent BIT NOT NULL)");
statement.executeUpdate("CREATE TABLE VEHICLES(vehNumber AUTOINCREMENT PRIMARY KEY, make VARCHAR(155) NOT NULL, " +
"category VARCHAR(155) NOT NULL, rentalPrice FLOAT NOT NULL, availableForRent BIT NOT NULL)");
statement.executeUpdate("CREATE TABLE RENTALS(rentalNumber AUTOINCREMENT PRIMARY KEY, dateRental VARCHAR(155) NOT NULL, dateReturned VARCHAR(155) NOT NULL, " +
"pricePerDay FLOAT NOT NULL, totalRental FLOAT NOT NULL, custNumber INTEGER FOREIGN KEY REFERENCES CUSTOMERS(custNumber), " +
"vehNumber INTEGER FOREIGN KEY REFERENCES VEHICLES(vehNumber))");

System.out.println("Database populated");
}

这里是错误 enter image description here

非常感谢您的帮助,我环顾四周但没有找到任何帮助。

最佳答案

在 Access 中,自动编号字段(DDL:AUTOINCREMENTCOUNTER)是一个“长整数”。

在 UCanAccess DDL 中,INTEGER 创建一个“Integer”(16 位)字段,LONG 创建一个“Long Integer”(32 位)字段。

您需要将外键列声明为 LONG,而不是 INTEGER

关于java - "Missing columns in relationship"创建表时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58207198/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com