def update data_hash_with_where = {}
    where_ext  = data_hash_with_where.delete(:where)
    where_ext  = [where_ext] unless where_ext.is_a? Array
    sql, *binds = SQLHelper.update(
                    :prepared => true,
                    :table => name,
                    :data => @query_default.merge(data_hash_with_where),
                    :where => @query_where + where_ext.compact)
    pstmt = prepare :update, sql
    pstmt.send @update_method, *binds
  end
def update data_hash_with_where = {}
    where_ext  = data_hash_with_where.delete(:where)
    where_ext  = [where_ext] unless where_ext.is_a? Array
    sql, *binds = SQLHelper.update(
                    :prepared => true,
                    :table => name,
                    :data => @query_default.merge(data_hash_with_where),
                    :where => @query_where + where_ext.compact)
    pstmt = prepare :update, sql
    pstmt.send @update_method, *binds
  end
Executes update with the given hash.
 :where element of the hash is taken out to generate where clause of the update SQL.
 @param [Hash] data_hash_with_where Column values in Hash.
   :where element of the given hash can (usually should) point to another Hash representing update filters.
 @return [Fixnum] Number of affected records