my_bool mysql_change_user(MYSQL *mysql, const char
          *user, const char *password, const char *db)
        
説明
          ユーザを変更し、db
          で指定されたデータベースを
          mysql
          で指定された接続のデフォルト(カレント)データベースにします。このデータベースは、その後実行されるクエリで明示的なデータベース指定子のないテーブル参照が行われる際のデフォルトになります。
        
この関数は、MySQL 3.23.3 で導入されました。
          mysql_change_user()
          は、指定したユーザが認証されない場合、またはそのユーザがデータベースを使用する権限を持たない場合に、失敗します。この場合、ユーザおよびデータベースは変更されません。
        
          デフォルトデータベースを使用しない場合、db
          パラメータを NULL
          に設定します。
        
          MySQL 4.0.6
          以降、このコマンドは、新しい接続が確立した場合は常に、任意のアクティブなトランザクションの
          ROLLBACK
          の実行、すべてのテンポラリテーブルのクローズ、ロックされたすべてのテーブルのアンロック、および状態のリセットを行います。この処理は、ユーザが変更されなかった場合も必ず行われます。
        
戻り値
正常終了した場合は 0。エラーが発生した場合は 0 以外。
エラー
          mysql_real_connect()
          が返すエラーと同じ。
        
              CR_COMMANDS_OUT_OF_SYNC
            
コマンドが正しい順序で実行されなかった。
              CR_SERVER_GONE_ERROR
            
MySQL サーバがいなくなった。
              CR_SERVER_LOST
            
クエリの実行中にサーバへの接続が切断された。
              CR_UNKNOWN_ERROR
            
不明なエラーが発生した。
              ER_UNKNOWN_COM_ERROR
            
MySQL サーバでこのコマンドが実装されていない(バージョンが古いと考えられる)。
              ER_ACCESS_DENIED_ERROR
            
ユーザまたはパスワードが正しくない。
              ER_BAD_DB_ERROR
            
データベースが存在しない。
              ER_DBACCESS_DENIED_ERROR
            
ユーザがデータベースへのアクセス権を持っていない。
              ER_WRONG_DB_NAME
            
データベース名が長すぎる。
例
if (mysql_change_user(&mysql, "user", "password", "new_database"))
{
   fprintf(stderr, "Failed to change user.  Error: %s\n",
           mysql_error(&mysql));
}
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.

