вставить заявление в MySQL - PullRequest
       1

вставить заявление в MySQL

0 голосов
/ 03 апреля 2011
        String myquery="INSERT INTO likestatus values(?,?)";


        PreparedStatement st1=con.prepareStatement(myquery);
        st1.setString(1,Integer.toString(rid));
        st1.setString(2, id);
        st1.executeUpdate(myquery);

ошибка, которую я получаю:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: в синтаксисе SQL имеется ошибка;проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с '?,?)' в строке 1

Ответы [ 3 ]

0 голосов
/ 03 апреля 2011

В вашем коде:

st1.setString(2, id);

тип идентификатора string?вам нужно убедиться, что вы используете соответствующий setXXX метод, соответствующий datatype.

0 голосов
/ 03 апреля 2011

В последней строке вы снова передали строку sql, минуя подготовленную функциональность оператора. Просто измените последнюю строку на это:

st1.executeUpdate();

PreparedStatement расширяет Statement, поэтому executeUpdate (String) по-прежнему доступен, однако вы не используете его обычно, поскольку объект знает, что имеет sql, вместо этого вы используете executeUpdate ().

0 голосов
/ 03 апреля 2011

Похоже, вам нужно указать конкретные имена столбцов, для которых вы предоставляете значения:

INSERT INTO likestatus (column1, column2) values (?, ?)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...