从mysql存储数据

时间:2017-02-14 11:40:56

标签: mysql c data-structures struct

我需要社区的建议。我需要存储来自mysql的某些数据,以便稍后我可以比较数据。我试图将所有内容都放到struct中,但我意识到struct在循环之后已经消失,并且我无法创建该结构名称将是可变的。像这样:

struct Columns (variable);

所以基本上我需要存储列信息,如字段,类型,密钥等。我不知道会有多少表。     我的结构:

struct Columns {
char  field[1000];
char  type[50];
char  null[10];
char  key[20];
char  defaul[50];
char  extra[50];
};

代码部分:

 if (mysql_query(conn, "Show tables;")){
    fprintf(stderr, "%s\n", mysql_error(conn));
    exit(1);
}
res = mysql_store_result(conn);

printf("MySQL Tables in mysql database:\n");
while ((row = mysql_fetch_row(res)) != NULL){
    printf("%s\n", row[0]);
    sprintf(str, "Show columns from %s;", row[0]); //row[0]-is table names

    sprintf(str1, "lentele_%s", row[0]);
    printf("%s\n", str1);

    struct Columns str1;

    if (mysql_query(conn, str)){
        fprintf(stderr, "%s\n", mysql_error(conn));
        exit(1);
    }

    res2 = mysql_use_result(conn);

    while ((row2 = mysql_fetch_row(res2)) != NULL){

        strcpy(str1.field, row2[0]);

        printf("Belekas Column field %s\n", str1.field);
    }

每张桌子上有6列:字段||类型|| null ||关键||默认||额外

正如我所说,我需要这些数据供以后比较。

0 个答案:

没有答案