我有这个表:
学生
CREATE TABLE IF NOT EXISTS Klas_student(
Student varchar(7) REFERENCES studenten (Studentenummer) ON DELETE CASCADE NOT NULL,
Klas text NOT NULL REFERENCES Klas (Naam_id) ON DELETE CASCADE NOT NULL
);
在此表格中,我想添加值,我使用preparestatement这样做.
PreparedStatement studentToKlas = conn.prepareStatement("INSERT INTO Klas_student " + "VALUES (?)");
studentToKlas.setString(1, studentnummer);
studentToKlas.setString(2, klasIdToInsert);
但是,此错误不断弹出:
org.postgresql.util.PSQLException: L'indice de la colonne est hors limite?: 2, nombre de colonnes?: 1.
at org.postgresql.core.v3.SimpleParameterList.bind(SimpleParameterList.java:56)
at org.postgresql.core.v3.SimpleParameterList.setStringParameter(SimpleParameterList.java:118)
at org.postgresql.jdbc2.AbstractJdbc2Statement.bindString(AbstractJdbc2Statement.java:2304)
at org.postgresql.jdbc2.AbstractJdbc2Statement.setString(AbstractJdbc2Statement.java:1392)
at org.postgresql.jdbc2.AbstractJdbc2Statement.setString(AbstractJdbc2Statement.java:1374)
at PerformanceClass$1.run(PerformanceClass.java:73)
at java.lang.Thread.run(Thread.java:724)
基本上说该列的索引超出限制:2,并且列数为1.
PerformanceClass.java:73是以下代码行:
studentToKlas.setString(2, klasIdToInsert);
如您所见,Klas_student具有两个字段,所以我不太了解该错误.你们中有人看到我在做什么吗?