jdbc 中的参数错误太多

Too many parameter error in jdbc

我正在使用 jdbc 通过 MS 访问数据库连接 这是我的代码

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class ExcelConnectivity
{
public static void main(String[] args) 
{
    try
    {
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        Connection con=DriverManager.getConnection("jdbc:odbc:db");
        String query="update validation set validation.rackid=rack.rackid where rack.bookid=validation.bookid";
        PreparedStatement ps=con.prepareStatement(query);
        ps.executeUpdate();
        System.out.println("doneeeeeeeeeeeeeeeeeeeeee");
    }
    catch(SQLException | ClassNotFoundException e)
    {
        e.printStackTrace();
    }
}
}

现在数据库如下

现在错误发生为 [Microsoft][ODBC Microsoft Access Driver] 参数太少。预计 2.

我检查了数据库中的 table 名称和 jdbc 代码,检查了连接

任何人帮助我的错误

您使用的查询有误,与连通性、连接性无关。该错误试图表明您在查询中使用参数但未在执行时提供值。

update validation set validation.rackid=rack.rackid where rack.bookid=validation.bookid

它会从哪里选择机架值?