关于我准备好的语句的某些内容在达到此行时会停止我的程序,我不知道为什么,因为完全相同的语法适用于另一个表(Product,有9个值)。
FYI订单存在且有6列
PreparedStatement statement =
connection.prepareStatement("INSERT INTO Order VALUES (?, ?, ?, ?, ?, ?)");
这是在一个try / catch块中,显然我在这个语句之后设置了值,但它是在准备好的语句中抛出异常。
语法是否有问题?或者这是否暗示表格不存在,即使我附上的图片显示它?
答案 0 :(得分:1)
order
是SQL中的保留字。如果要将其用作表名,则需要将其转义(通过用双引号括起来):
PreparedStatement statement =
connection.prepareStatement("INSERT INTO \"Order\" VALUES (?, ?, ?, ?, ?, ?)");