my_bool mysql_change_user(MYSQL *mysql, const char
*user, const char *password, const char *db)
Descrição
Altera o usuário é faz com que o banco de dados especificado
por db
se torne o banco de dados padrão
(atual) na conexão especificada por mysql
.
Em consultas subsequentes este banco de dados é o padrão
para referências a tabelas que não especificam o banco de
dados explicitamente.
Esta função foi introduzida na versão do MySQL.
mysql_change_user()
falha a menos que o
usuário conectado possa ser autenticado ou se ele não tiver
permissão para utilizar o banco de dodos. Neste caso o
usuário e o banco de dados não são alterados.
O parâmetro db
pode ser definido como
NULL
se você não dseseja ter um banco de
dados padrão.
A partir da versão 4.0.6 do MySQL este comando sempre fará
ROLLBACK
de qualquer transação ativa,
fecha todas as tabelas temporárias, destrava todas as tabelas
bloqueadas e volta a um estado como se tivesse feito uma inova
conexão. Isto irá acontecer mesmo se o usuário não foi
alterado.
Valor Retornado
Zero se obteve successo. Diferente de zero se ocorreu um erro.
Erros
O mesmo que pode ser obtido com
mysql_real_connect()
.
CR_COMMANDS_OUT_OF_SYNC
Comandos forma executados em ordem inapropriada.
CR_SERVER_GONE_ERROR
O servidor MySQL finalizou.
CR_SERVER_LOST
A conexão ao servidor foi perdida durante a consulta.
CR_UNKNOWN_ERROR
Um erro desconhecido ocorreu.
ER_UNKNOWN_COM_ERROR
O servidor MySQL não possui este comando (provavelmente um versão mais antiga)
ER_ACCESS_DENIED_ERROR
O usuário ou a senha estavam errados.
ER_BAD_DB_ERROR
O banco de dados não existe.
ER_DBACCESS_DENIED_ERROR
O usuário não tem direitos de acessoa este banco de dados.
ER_WRONG_DB_NAME
O nome de banco de dados é muito grande.
Exemplo
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.