10bet网址
MySQL 5.7 C API开发人员指南
下载本手册

5.4.3 mysql_change_user()

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

描述

更改用户并导致数据库指定D b成为所指定的连接上的默认(当前)数据库mysql.。在后续查询中,此数据库是表引用的默认值,该引用包括没有显式数据库说明符。

mysql_change_user()如果连接的用户无法验证或无权使用数据库,则失败。在这种情况下,用户和数据库不会改变。

通过A.D b参数空值如果您不想有默认数据库。

此函数重置会话状态,好像曾经完成了新的Connect和RealeAthenticated一样。(看第3.6.6节“自动重新连接控制”。)它总是表演回滚在任何活动事务中,关闭并删除所有临时表,并解锁所有锁定的表。它将会话系统变量重置为相应的全局系统变量的值,发布准备的语句,关闭处理程序变量,并释放获取锁get_lock()。即使用户没有改变,这些效果也会发生。

要以更轻量级的方式重置连接状态而不更改用户,请使用mysql_reset_connection()

返回值

成功零。非零如果发生错误。

错误

你可以从中得到的mysql_real_connect(),加上:

例子

if(mysql_change_user(&mysql,“用户”,“密码“,”new_database“)){fprintf(stderr,”无法更改用户。错误:%s \ n“,mysql_error(&mysql));}