-1
String insert = "UPDATE PPN_WORKFLOW SET P1_F_Date = ?, SET P1_Completed = ?, SET C2_S_Date = ? WHERE ERF_No = ?";
            stmt = conn.prepareStatement(insert);
            stmt.setDate(1, date);
            stmt.setInt(2, 1);
            stmt.setDate(3, date);
            stmt.setInt(4, erf_no);
            stmt.executeUpdate();

ステートメントを更新しようとしていますが、このエラーが表示されます

java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Syntax error in UPDATE statement.
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6956)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7113)
at sun.jdbc.odbc.JdbcOdbc.SQLExecute(JdbcOdbc.java:3148)
at sun.jdbc.odbc.JdbcOdbcPreparedStatement.execute(JdbcOdbcPreparedStatement.java:215)
at sun.jdbc.odbc.JdbcOdbcPreparedStatement.executeUpdate(JdbcOdbcPreparedStatement.java:137)
at Mails.MailtoERF.check(MailtoERF.java:60)
at Mails.MailtoERF.main(MailtoERF.java:122)
4

4 に答える 4

3

そのように設定することはできません.構文を変更する必要があります.1回のSETで十分です

UPDATE PPN_WORKFLOW SET P1_F_Date = ?, P1_Completed = ?..... where condition
于 2013-03-08T11:13:06.630 に答える
3

SET列名ごとに があります。列をカンマのみで区切り、1 回だけ使用する必要があります。SET構文はこちらを参照してください。

UPDATE table_name
SET column1=value, column2=value2,...
WHERE some_column=some_value
于 2013-03-08T11:13:36.513 に答える
2

SET各列には必要ありません:

MySQL 更新構文:

UPDATE [LOW_PRIORITY] [IGNORE] table_reference
    SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...
    [WHERE where_condition]
    [ORDER BY ...]
    [LIMIT row_count]

String insert = "UPDATE PPN_WORKFLOW SET P1_F_Date = ?, P1_Completed = ?,  
C2_S_Date = ? WHERE ERF_No = ?";
于 2013-03-08T11:13:00.353 に答える
0

Sql Update ステートメントの構文が間違っています。'SET' for each column in the query, you only do it at the first column

に変更します

String insert = "UPDATE PPN_WORKFLOW SET P1_F_Date = ?, P1_Completed = ?, C2_S_Date = ? WHERE ERF_No = ?";
            stmt = conn.prepareStatement(insert);
            stmt.setDate(1, date);
            stmt.setInt(2, 1);
            stmt.setDate(3, date);
            stmt.setInt(4, erf_no);
            stmt.executeUpdate();

参照用の構文は次のとおりです

于 2013-03-08T11:21:11.633 に答える