如何用C将数据文件加载到数据库中

时间:2016-03-17 03:03:25

标签: mysql c

我尝试使用C程序将本地数据文件network.txt加载到mysql的表网络中。我这样做,但它不起作用。错误信息为mysql_query(&con, "load data local infile 'network.txt' into table network")

#include <mysql/mysql.h>
#include <stdio.h>
#include <stdlib.h>

int 
main(int argc, char *argv[])
{
    MYSQL           con;

    mysql_init(&con);
    if (mysql_real_connect(&con, "localhost", 
                    "hel", "password", "mydatabase", 0, NULL, 0) == NULL) {
        exit(0);
    }

    /* delete table network if it exists */
    if (mysql_query(&con, "drop table if exists network") != 0) {
        exit(0);
    }

    /* create table network */
    if (mysql_query(&con, "create table network(IP varchar(20), primary key (IP))") != 0) {
        exit(0);
    }

    /* load data file to table */
    if (mysql_query(&con, "load data local infile 'network.txt' into table network") != 0) {
        exit(0);               // ************error **************
    }
    mysql_close(&con);

    return 0;
}

修改 ======================================= ===================

我发现load data local infile 'network.txt' into table network是shell命令,而不是mysql命令。也许这就是错误。我怎么能用C加载数据文件。

1 个答案:

答案 0 :(得分:0)

network.txt的路径是否正确?考虑提供绝对路径。