-2

データベースの値を更新しているクエリがありますが、何かが欠けているようです

String sqlStr = "INSERT INTO userdb where userID=? (username,address,email,contact,credit,userpassword)" + "VALUES (?,?,?,?,?,?)";
                PreparedStatement pstmt = conn.prepareStatement(sqlStr);
                pstmt.setInt(1, userid);
                pstmt.setString(2,name);
                pstmt.setString(3,address);
                pstmt.setString(4,email);
                pstmt.setInt(5,contact);
                pstmt.setString(6,credit);
                pstmt.setString(7,password);
                int rec = pstmt.executeUpdate();

エラー:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where userID=1 (username,address,email,contact,credit,userpassword)VALUES ('abc'' at line 1
4

2 に答える 2

2
UPDATE userdb 
SET username = ?,
    address = ?, 
    email = ?,
    contact = ?,
    credit = ?,
    userpassword = ?
WHERE userID = ? 
于 2013-07-29T16:44:25.817 に答える