我嘗試創(chuàng)建三個表(CUSTOMERS、VEHICLES 和 RENTALS),第三個表(RENTALS)的外鍵引用前兩個表(CUSTOMERS 和 RENTALS)的兩個主鍵。創(chuàng)建第三個表時,我收到錯誤“ 關(guān)系中缺少列”(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"); }這是錯誤
1 回答

萬千封印
TA貢獻1891條經(jīng)驗 獲得超3個贊
在 Access 中,自動編號字段(DDL:AUTOINCREMENT
或COUNTER
)是“長整型”。
在 UCanAccess DDL 中,INTEGER
創(chuàng)建“整數(shù)”(16 位)字段并LONG
創(chuàng)建“長整型”(32 位)字段。
您需要將外鍵列聲明為LONG
, not INTEGER
。
添加回答
舉報
0/150
提交
取消