MySQL

:: DEVELOPER ZONE

Login / Register

  • MySQL.com
  • Developer Zone
  • Partners
  • Online Shop
  • Downloads
  • Documentation
  • Forums
  • Lists
  • Bugs
  • Events
  • User Groups
  • Guilds
  • Blogs
  • Support
  • Resources
  • Books
  • FAQ

Справочное руководство по MySQL 4.0. :: 8 Интерфейсы для MySQL :: 8.4 Интерфейс C для MySQL :: 8.4.3 Описание функций интерфейса C :: 8.4.3.2 mysql_change_user()

  • Overview
  • MySQL Reference Manual
  • MaxDB Documentation
  • Connectors

Search the MySQL manual:


  • Справочное руководство по MySQL 4.0.

  • 8.4.3 Описание функций интерфейса C
  • 8.4.3.1 mysql_affected_rows()
  • 8.4.3.2 mysql_change_user()
  • 8.4.3.3 mysql_character_set_name()
  • 8.4.3.4 mysql_close()
  • 8.4.3.5 mysql_connect()
  • 8.4.3.6 mysql_create_db()
  • 8.4.3.7 mysql_data_seek()
  • 8.4.3.8 mysql_debug()
  • 8.4.3.9 mysql_drop_db()
  • 8.4.3.10 mysql_dump_debug_info()
  • 8.4.3.11 mysql_eof()
  • 8.4.3.12 mysql_errno()
  • 8.4.3.13 mysql_error()
  • 8.4.3.14 mysql_escape_string()
  • 8.4.3.15 mysql_fetch_field()
  • 8.4.3.16 mysql_fetch_field_direct()
  • 8.4.3.17 mysql_fetch_fields()
  • 8.4.3.18 mysql_fetch_lengths()
  • 8.4.3.19 mysql_fetch_row()
  • 8.4.3.20 mysql_field_count()
  • 8.4.3.21 mysql_field_seek()
  • 8.4.3.22 mysql_field_tell()
  • 8.4.3.23 mysql_free_result()
  • 8.4.3.24 mysql_get_client_info()
  • 8.4.3.25 mysql_get_server_version()
  • 8.4.3.26 mysql_get_host_info()
  • 8.4.3.27 mysql_get_proto_info()
  • 8.4.3.28 mysql_get_server_info()
  • 8.4.3.29 mysql_info()
  • 8.4.3.30 mysql_init()
  • 8.4.3.31 mysql_insert_id()
  • 8.4.3.32 mysql_kill()
  • 8.4.3.33 mysql_list_dbs()
  • 8.4.3.34 mysql_list_fields()
  • 8.4.3.35 mysql_list_processes()
  • 8.4.3.36 mysql_list_tables()
  • 8.4.3.37 mysql_num_fields()
  • 8.4.3.38 mysql_num_rows()
  • 8.4.3.39 mysql_options()
  • 8.4.3.40 mysql_ping()
  • 8.4.3.41 mysql_query()
  • 8.4.3.42 mysql_real_connect()
  • 8.4.3.43 mysql_real_escape_string()
  • 8.4.3.44 mysql_real_query()
  • 8.4.3.45 mysql_reload()
  • 8.4.3.46 mysql_row_seek()
  • 8.4.3.47 mysql_row_tell()
  • 8.4.3.48 mysql_select_db()
  • 8.4.3.49 mysql_shutdown()
  • 8.4.3.50 mysql_stat()
  • 8.4.3.51 mysql_store_result()
  • 8.4.3.52 mysql_thread_id()
  • 8.4.3.53 mysql_use_result()

Get the MySQL Language Reference and MySQL Administrator's Guide from MySQL Press!


Additional languages

  • German


Learn about new MySQL releases, technical articles, events and more.

Subscribe to the monthly MySQL Newsletter!


Previous / Next / Up / Table of Contents

8.4.3.2. mysql_change_user()

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, если база данных по умолчанию не нужна.

Начиная с версии 4.0.6 будет всегда производить откат любой начатой транзакции, закрывать все временные таблицы, снимать блокировку со всех заблокированных таблиц и переустанавливать состояние, если произошло новое соединение. Это будет происходить даже в том случае, если имя пользователя не изменится.

Возвращаемые значения

Нуль при успешном выполнении. Ненулевая величина, если возникла ошибка.

Ошибки

Те же, что и для 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.

Top / Previous / Next / Up / Table of Contents

© 1995-2005 MySQL AB. All rights reserved.

  • About MySQL
  • Careers
  • Site Map
  • Contact Us
  • Legal
  • Privacy Policy
  • Trademark Info
  • No Software Patents!