错误:列索引超出范围:1,列数:0

Nes*_*ano 7 java postgresql insert

我正在尝试解决在Postgresql表中插入的问题

我看了这个类似的问题,但它没有解决我的问题

错误:列索引超出范围:1,列数:0

这是获取错误的代码部分:

String query = "INSERT INTO reviews (nbstar, body, author, product_id) VALUES($1,$2,$3,$4)";

PreparedStatement prepareStatement = connection.prepareStatement(query);
prepareStatement.setInt(1, nbStar);
prepareStatement.setString(2, body);
prepareStatement.setString(3, author);
prepareStatement.setInt(4, productId);

boolean executed = prepareStatement.execute();
Run Code Online (Sandbox Code Playgroud)

我试过几次来改变索引号但仍然是同样的错误

这是表格的架构:

表模式

任何人都可以给我一个建议吗?

谢谢.

Tra*_* Ho 12

在sql查询中,您要插入5个字段(id,nbstar,body,author,product_id)的值,但只有4个值VALUES($ 1,$ 2,$ 3,$ 4).


根据您编辑的问题更新,只需修改您的查询,如下所示:

VALUES($1,$2,$3,$4) 
Run Code Online (Sandbox Code Playgroud)

VALUES(?,?,?,?)
Run Code Online (Sandbox Code Playgroud)