my_bool mysql_change_user(MYSQL *mysql, const char
          *user, const char *password, const char *db)
        
Description
          Changes the user and causes the database specified by
          db to become the default (current) database
          on the connection specified by mysql. In
          subsequent queries, this database is the default for table
          references that do not include an explicit database specifier.
        
This function was introduced in MySQL 3.23.3.
          mysql_change_user() fails if the connected
          user cannot be authenticated or doesn't have permission to use
          the database. In this case the user and database are not
          changed
        
          The db parameter may be set to
          NULL if you don't want to have a default
          database.
        
          Starting from MySQL 4.0.6 this command always performs a
          ROLLBACK of any active transactions, closes
          all temporary tables, unlocks all locked tables and resets the
          state as if one had done a new connect. This happens even if
          the user didn't change.
        
Return Values
Zero for success. Non-zero if an error occurred.
Errors
          The same that you can get from
          mysql_real_connect().
        
              CR_COMMANDS_OUT_OF_SYNC
            
Commands were executed in an improper order.
              CR_SERVER_GONE_ERROR
            
The MySQL server has gone away.
              CR_SERVER_LOST
            
The connection to the server was lost during the query.
              CR_UNKNOWN_ERROR
            
An unknown error occurred.
              ER_UNKNOWN_COM_ERROR
            
The MySQL server doesn't implement this command (probably an old server).
              ER_ACCESS_DENIED_ERROR
            
The user or password was wrong.
              ER_BAD_DB_ERROR
            
The database didn't exist.
              ER_DBACCESS_DENIED_ERROR
            
The user did not have access rights to the database.
              ER_WRONG_DB_NAME
            
The database name was too long.
Example
if (mysql_change_user(&mysql, "user", "password", "new_database"))
{
   fprintf(stderr, "Failed to change user.  Error: %s\n",
           mysql_error(&mysql));
}
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.

