美文网首页我爱编程
PHP查找整个mysql数据库里包含某个字段的表的方法

PHP查找整个mysql数据库里包含某个字段的表的方法

作者: 码农的成长之路 | 来源:发表于2018-04-12 19:56 被阅读0次

需求:在数据库处理时,因为不同的库相同的表进而数据冲突,需要修改某个表里的主键,而这个主键会关联到其他表,因此需要同时修改包含此主键的表。

怎么查找整个数据库里包含这个主键的表呢?发现并没有直接的方法来实现。需要分步进行:

1、以mysql_list_tables()函数直接获得整个数据库的表;

2、通过mysql_fetch_row()获取表名;

3、使用foreach循环遍历获取各个表的字段并用in_array()判断是否包含某个字段,如否,将该表置空;

4、再将空值进行过滤即可。

public function tables()

{

     $rs = mysql_list_tables($db);

        $tables =array();

        while ($row = mysql_fetch_row($rs)) {

        $tables[] =$row[0];

        }

       mysql_free_result($rs);

        foreach ($tables as &$v) {

            $fields =D($v)->getDbFields();    // 这个是thinkphp的方法

            if(!in_array('uid',$fields)){

            $v ='';

            }

      }

      $tables = array_filter($tables);

        $tables = array_values($tables);

        return $tables;

        }

相关文章

网友评论

    本文标题:PHP查找整个mysql数据库里包含某个字段的表的方法

    本文链接:https://www.haomeiwen.com/subject/ozmfkftx.html