5というテーブルのユーザーの個人情報のフィールドを更新したいと考えていますPersonnel-table。
ユーザーは、すべてのフィールドまたは一部のフィールドを更新したい場合もあれば、何も更新したくない場合もあります。
ユーザーが更新する可能性があるフィールドはFirstName、 、LastName、Password、UserName  およびAddressです。
そのコードはそれを行います:
public boolean updateUserInfo(String _idnumber , String _usernameNew , String _passwordNew ,  
        String _addressNew , String _firstNameNew , String _lastNameNew) throws SQLException
{
    ResultSet resultSet = null;
    String sqlStatement = "UPDATE PersonnelTable set `UserName` = ? WHERE `IdNumber` = ?";
    this.m_prepared = (PreparedStatement) this.m_connection.prepareStatement(sqlStatement);
    this.m_prepared.executeUpdate("USE Personnel");
    // set the ID number & account number 
    /**
     *  first 
     */
    m_prepared.setString(1, _usernameNew);
    m_prepared.setString(2, _idnumber);
    // execute first query - update password
    if (_usernameNew!= "")
    {
        resultSet = m_prepared.executeQuery();
        return true;
    }
    /**
     *  Second 
     */
    sqlStatement = "UPDATE PersonnelTable set `FirstName` = ? WHERE `IdNumber` = ?";
    this.m_prepared = (PreparedStatement) this.m_connection.prepareStatement(sqlStatement);
    m_prepared.setString(1, _firstNameNew);
    m_prepared.setString(2, _idnumber);
    if (_firstNameNew != "")
    {
        resultSet = m_prepared.executeQuery();
        return true;
    }
    /**
     *  Third
     */
    sqlStatement = "UPDATE PersonnelTable set `LastName` = ? WHERE `IdNumber` = ?";
    this.m_prepared = (PreparedStatement) this.m_connection.prepareStatement(sqlStatement);
    m_prepared.setString(1, _lastNameNew);
    m_prepared.setString(2, _idnumber);
    if (_lastNameNew!= "")
    {
        resultSet = m_prepared.executeQuery();
        return true;
    }
    /**
     *  Fourth
     */
    sqlStatement = "UPDATE PersonnelTable set `Address` = ? WHERE `IdNumber` = ?";
    this.m_prepared = (PreparedStatement) this.m_connection.prepareStatement(sqlStatement);
    m_prepared.setString(1, _addressNew);
    m_prepared.setString(2, _idnumber);
    if (_addressNew!= "")
    {
        resultSet = m_prepared.executeQuery();
        return true;
    }
    /**
     *  Fifth
     */
    sqlStatement = "UPDATE PersonnelTable set `Password` = ? WHERE `IdNumber` = ?";
    this.m_prepared = (PreparedStatement) this.m_connection.prepareStatement(sqlStatement);
    m_prepared.setString(1, _passwordNew);
    m_prepared.setString(2, _idnumber);
    if (_passwordNew!= "")
    {
        resultSet = m_prepared.executeQuery();
        return true;
    }
    return false;
} 
しかし、ご覧のとおり、クエリを 5 回実行しているため、コードが大きすぎます。
""各フィールドが空の文字列でない場合、1 つの mysql-query で必要なフィールドを更新することを mysql に伝えるにはどうすればよいですか? それは可能ですか、それとも毎回別々に行う必要がありますか?
よろしく