我需要社区的建议。我需要存储来自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 ||关键||默认||额外
正如我所说,我需要这些数据供以后比较。