MySQL 5.1 リファレンスマニュアル :: 23 APIとライブラリー :: 23.2 MySQL C API :: 23.2.3 C API機能の説明 :: 23.2.3.3 mysql_change_user()
« 23.2.3.2 mysql_autocommit()

23.2.3.4 mysql_character_set_name() »
Section Navigation      [Toggle]
  • 23.2.3 C API機能の説明
  • 23.2.3.1 mysql_affected_rows()
  • 23.2.3.2 mysql_autocommit()
  • 23.2.3.3 mysql_change_user()
  • 23.2.3.4 mysql_character_set_name()
  • 23.2.3.5 mysql_close()
  • 23.2.3.6 mysql_commit()
  • 23.2.3.7 mysql_connect()
  • 23.2.3.8 mysql_create_db()
  • 23.2.3.9 mysql_data_seek()
  • 23.2.3.10 mysql_debug()
  • 23.2.3.11 mysql_drop_db()
  • 23.2.3.12 mysql_dump_debug_info()
  • 23.2.3.13 mysql_eof()
  • 23.2.3.14 mysql_errno()
  • 23.2.3.15 mysql_error()
  • 23.2.3.16 mysql_escape_string()
  • 23.2.3.17 mysql_fetch_field()
  • 23.2.3.18 mysql_fetch_field_direct()
  • 23.2.3.19 mysql_fetch_fields()
  • 23.2.3.20 mysql_fetch_lengths()
  • 23.2.3.21 mysql_fetch_row()
  • 23.2.3.22 mysql_field_count()
  • 23.2.3.23 mysql_field_seek()
  • 23.2.3.24 mysql_field_tell()
  • 23.2.3.25 mysql_free_result()
  • 23.2.3.26 mysql_get_character_set_info()
  • 23.2.3.27 mysql_get_client_info()
  • 23.2.3.28 mysql_get_client_version()
  • 23.2.3.29 mysql_get_host_info()
  • 23.2.3.30 mysql_get_proto_info()
  • 23.2.3.31 mysql_get_server_info()
  • 23.2.3.32 mysql_get_server_version()
  • 23.2.3.33 mysql_get_ssl_cipher()
  • 23.2.3.34 mysql_hex_string()
  • 23.2.3.35 mysql_info()
  • 23.2.3.36 mysql_init()
  • 23.2.3.37 mysql_insert_id()
  • 23.2.3.38 mysql_kill()
  • 23.2.3.39 mysql_library_end()
  • 23.2.3.40 mysql_library_init()
  • 23.2.3.41 mysql_list_dbs()
  • 23.2.3.42 mysql_list_fields()
  • 23.2.3.43 mysql_list_processes()
  • 23.2.3.44 mysql_list_tables()
  • 23.2.3.45 mysql_more_results()
  • 23.2.3.46 mysql_next_result()
  • 23.2.3.47 mysql_num_fields()
  • 23.2.3.48 mysql_num_rows()
  • 23.2.3.49 mysql_options()
  • 23.2.3.50 mysql_ping()
  • 23.2.3.51 mysql_query()
  • 23.2.3.52 mysql_real_connect()
  • 23.2.3.53 mysql_real_escape_string()
  • 23.2.3.54 mysql_real_query()
  • 23.2.3.55 mysql_refresh()
  • 23.2.3.56 mysql_reload()
  • 23.2.3.57 mysql_rollback()
  • 23.2.3.58 mysql_row_seek()
  • 23.2.3.59 mysql_row_tell()
  • 23.2.3.60 mysql_select_db()
  • 23.2.3.61 mysql_set_character_set()
  • 23.2.3.62 mysql_set_local_infile_default()
  • 23.2.3.63 mysql_set_local_infile_handler()
  • 23.2.3.64 mysql_set_server_option()
  • 23.2.3.65 mysql_shutdown()
  • 23.2.3.66 mysql_sqlstate()
  • 23.2.3.67 mysql_ssl_set()
  • 23.2.3.68 mysql_stat()
  • 23.2.3.69 mysql_store_result()
  • 23.2.3.70 mysql_thread_id()
  • 23.2.3.71 mysql_use_result()
  • 23.2.3.72 mysql_warning_count()

23.2.3.3. mysql_change_user()

my_bool mysql_change_user(MYSQL *mysql, const char *user, const char *password, const char *db)

説明

ユーザーを変えて、dbによって規定されたデータベースを、mysqlによって規定された接続上の(現)デフォルトデータベースになるように仕向けてください。次のクエリーの中では、このデータベースは明確なデータベース規定者を含まないテーブルリファレンスのためのデフォルトとなります。

接続されたユーザーを認証することができないか、当該ユーザーがデータベースを使う許可を得ていない場合、mysql_change_user()は失敗します。この場合、ユーザーとデータベースは変更されません。

デフォルトデータベースを持ちたくない場合、dbパラメ-タをNULLにセットすることができます。

このコマンドは状態を新しい接続をしたかのようにリセットします。(項23.2.13. 「自動再接続挙動の管理」を参照してください。)それは常に、アクティブな取引のROLLBACKを実施し、すべての一時テーブル閉じてドロップし、ロックされているすべてのテーブルをアンロックします。セッションシステム変数が対応するグローバルシステム変数の値にリセットされます。準備されたステートメントがレリースされ、HANDLER変数が閉じられます。GET_LOCK()を使って取得されたロックが解放されます。たとえユーザーが変わらなかったとしても、これらの効果は起こります。

戻り値

成功のためのゼロ。エラーが起こった場合、ゼロ以外。

エラー

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));
}
Copyright © 1997, 2010, Oracle and/or its affiliates. All rights reserved. Legal Notices
Top / Previous / Next / Up / Table of Contents
© 2010, Oracle Corporation and/or its affiliates