REATE DATABASE语句。
返回值
如果数据库已成功创建,返回0,如果出现错误,返回非0值。
错误
? CR_COMMANDS_OUT_OF_SYNC
以不恰当的顺序执行了命令。
? CR_SERVER_GONE_ERROR
MySQL服务器不可用。
? CR_SERVER_LOST
在查询过程中,与服务器的连接丢失。
? CR_UNKNOWN_ERROR
出现未知错误。
示例:
if(mysql_create_db(&mysql, "my_database"))
{
fprintf(stderr, "Failed to create new database. Error: %s\n",
mysql_error(&mysql));
}
25.2.3.9. mysql_data_seek()
void mysql_data_seek(MYSQL_RES *result, my_ulonglong offset)
描述
在查询结果集中寻找任意行。偏移值为行号,范围从0到mysql_num_rows(result)-1。
该函数要求结果集结构包含查询的所有结果,因此,somysql_data_seek()仅应与mysql_store_result()联合使用,而不是与mysql_use_result()。
返回值
无。
错误
无。
25.2.3.10. mysql_debug()
void mysql_debug(const char *debug)
描述
用给定的字符串执行DBUG_PUSH。mysql_debug()采用Fred Fish调试库。要想使用该函数,必须编译客户端库,使之支持调试功能。请参见E.1节,“调试MySQL服务器”。请参见E.2节,“调试MySQL客户端”。
返回值
无。
错误
无。
示例:
这里给出的调用将使客户端库在客户端机器的/tmp/client.trace中生成1个跟踪文件。
mysql_debug("d:t:O,/tmp/client.trace");
25.2.3.11. mysql_drop_db()
int mysql_drop_db(MYSQL *mysql, const char *db)
描述
撤销由db参数命名数据库。
该函数已过时。最好使用mysql_query()来发出SQLDROP DATABASE语句
返回值
如果成功撤销了数据库,返回0。如果出现错误,返回非0值。
错误
? CR_COMMANDS_OUT_OF_SYNC
以不恰当的顺序执行了命令。
? CR_SERVER_GONE_ERROR
MySQL服务器不可用。
? CR_SERVER_LOST
在查询过程中,与服务器的连接丢失。
? CR_UNKNOWN_ERROR
出现未知错误。
示例:
if(mysql_drop_db(&mysql, "my_database"))
fprintf(stderr, "Failed to drop the database: Error: %s\n",
mysql_error(&mysql));
25.2.3.12. mysql_dump_debug_info()
int mysql_dump_debug_info(MYSQL *mysql)
描述
指示服务器将一些调试信息写入日志。要想使之工作,已连接的用户必须具有SUPER权限。
返回值
如果命令成功,返回0。如果出现错误,返回非0值。
错误
? CR_COMMANDS_OUT_OF_SYNC
以不恰当的顺序执行了命令。
? CR_SERVER_GONE_ERROR
MySQL服务器不可用。
? CR_SERVER_LOST
在查询过程中,与服务器的连接丢失。
? CR_UNKNOWN_ERROR
出现未知错误。
25.2.3.13. mysql_eof()
my_bool mysql_eof(MYSQL_RES *result)
描述
该函数已过时。应使用mysql_errno()或mysql_error()取而代之。
mysql_eof()确定是否已读取了结果集的最后1行。
如果通过成功调用mysql_store_result()获得了结果集,客户端将在1次操作中收到整个结果集。在该情况下,从mysql_fetch_row()返回的NULL总表示已到达结果集末尾,而且没必要调用mysql_eof()。与mysql_store_result()一起使用时,mysql_eof()总返回“真”。
另一方面,如果你使用mysql_use_result()来初始化结果集检索,当重复调用mysql_fetch_row()时,将逐个地从服务器获取结果集的行。由于在该过程中,可能出现连接上的错误,从mysql_fetch_row()返回的NULL值不一定表示已正常地抵达结果集末尾。在该情况下,可以使用mysql_eof()来判定出现了什么情况。如果抵达结果集末尾,mysql_eof()返回非0值,如果出现错误,返回0。
从历史的角度上看,mysql_eof()在日期上早于标准的MySQL错误函数mysql_errno()和mysql_error()。由于这类错误函数提供了相同的信息,它们优先于已过时的mysql_eof()。事实上,它们提供了更多信息,这是因为,mysql_eof()仅返回布尔值,错误函数能够在出现错误时指明错误的原因。
返回值
如果未出现错误,返回0。如果抵达结果集的末尾,返回非0值。
错误
无。
示例:
在下面的示例中,介绍了使用mysql_eof()的方法:
mysql_query(&mysql,"SELECT * FROM some_table");
result = mysql_use_result(&mysql);
while((row = mysql_fetch_row(result)))
{
// do something with data
}
if(!mysql_eof(result)) // mysql_fetch_row() failed due to an error
{
fprintf(stderr, "Error: %s\n", mysql_error(&mysql));
}
但是,你也能使用标准的MySQL错误函数实现相同的结果:
mysql_query(&mysql,"SELECT * FROM some_table");
result = mysql_use_result(&mysql);
while((row = mysql_fetch_row(result)))
{
// do something with data
}
if(mysql_errno(&mysql)) // mysql_fetch_row() failed due to an error
{
fprintf(stderr, "Error: %s\n", mysql_error(&mysql));
}
25.2.3.14. mysql_errno()
unsigned int mysql_errno(MYSQL *mysql)
描述
对于由mysql指定的连接,mysql_errno()返回最近调用的API函数的错误代码,该函数调用可能成功也可能失败。“0”返回值表示未出现错误。在MySQLerrmsg.h头文件中,列出了客户端错误消息编号。在附录B:错误代码