MySQL_ROW row;​ row=mysql_fetch_row(result); 这里的row[0],row[1]....,

MySQL_ROW row;​ row=mysql_fetch_row(result); 这里的row[0],row[1]....,,第1张

MYSQL_ROW 类型表示的是记录集里的一条数据,假如你的数据表里有10个字段,则

row[0]~row[9]里面保存的就是这10个字段的内容。

如果你不知道有多少个字段,则result对应的数据类型MYSQL_RES里面有一个叫field_count的变量,保存的是字段个数,另外还有个row_count保存的是记录条数,要把结果放到数据里面去,则可以试试下面的代码:

  char cData[10][100]//假设有10个字段,每个字段最大长度为100个字节

  //也可以使用刚才提到的field_count,row_count来动态分配数组

  //取出一条数据 

  row= mysql_fetch_row(result)    

  //遍历每个字段  

  for(int i=0 i < result->field_count i++)  

  {   

   //把字段值拷贝到数组中去 

   strcpy(cData[i], row[i])

  }

有两种方法,一种方法使用mysql的check table和repair table 的sql语句,另一种方法是使用MySQL提供的多个myisamchk, isamchk数据检测恢复工具。前者使用起来比较简便。推荐使用。

1. check table 和 repair table

登陆mysql 终端:

mysql -uxxxxx -p dbname

check table tabTest

如果出现的结果说Status是OK,则不用修复,如果有Error,可以用:

repair table tabTest

进行修复,修复之后可以在用check table命令来进行检查。在新版本的phpMyAdmin里面也可以使用check/repair的功能。

2. myisamchk, isamchk

其中myisamchk适用于MYISAM类型的数据表,而isamchk适用于ISAM类型的数据表。这两条命令的主要参数相同,一般新的系统都使用MYISAM作为缺省的数据表类型,这里以myisamchk为例子进行说明。当发现某个数据表出现问题时可以使用:

myisamchk tablename.MYI

进行检测,如果需要修复的话,可以使用:

myisamchk -of tablename.MYI

关于myisamchk的详细参数说明,可以参见它的使用帮助。需要注意的时在进行修改时必须确保MySQL服务器没有访问这个数据表,保险的情况下是最好在进行检测时把MySQL服务器Shutdown掉。

mysql中不能存储数组,但是可以通过传入的字符串截取成多个字符然后传入到临时表中,然后使用游标或者直接关联表过滤数据来储存。

具体步骤如下所示:

1、创建数据库,就如下图所示一样。

2、根据学生编号批量删除学生信息,如下图所示。

3、声明初始化变量,看到以下画面。

4、获取传入参数数组长度,创建临时表,所输入的如下图所示。

5、截取数组字符串并依次存入到临时表中供后面业务使用。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8713312.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-20
下一篇 2023-04-20

发表评论

登录后才能评论

评论列表(0条)

保存