使用mysql C API在数据库中加载mysql dump

时间:2018-04-11 19:12:59

标签: mysql c database api

我想用C语言管理数据库。所以我正在使用C API for mysql。 我无法在C API中找到一个函数,用于将.sql文件直接加载到mysql。 我经历了documentation但没有找到它。

我还尝试使用SOURCE file.sql作为查询,但我收到了一个奇怪的错误

  

源错误。您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在第1行的'SOURCE /home/iota/Academics/4-2/NP/a/a4/cars.sql'附近使用正确的语法

相关代码如下:

void connectdb(){

    con = mysql_init(NULL);

    if (mysql_real_connect(con, "localhost", "root", "psswd", NULL, 0, NULL, 0) == NULL){
        fprintf(stderr, "qqddd%s\n", mysql_error(con));
        mysql_close(con);
        exit(1);
    }

    mysql_query(con, "drop database if exists testdb");
    mysql_query(con, "create database testdb");


    if(mysql_query(con, "use testdb")){
        fprintf(stderr, "qq%s\n", mysql_error(con));
        mysql_close(con);
        exit(1);                
    }


    if(mysql_query(con, "SOURCE /home/iota/Academics/4-2/NP/a/a4/cars.sql")){ /*error here*/
        fprintf(stderr, "source error.%s\n", mysql_error(con));
        mysql_close(con);
        exit(1);        
    }


}  

你能建议任何办法吗? 谢谢。

0 个答案:

没有答案