songxuan

新建10张表,user_0,user_1,...user_9,方法不可串用,采用hash或取余法,获取要操作的表名,取值用对应存值的方法

1.hash取余法

public function part_table(){

        $id=uniqid();                       //php生成唯一 uuid
        $str = crc32($id);                  //hash 算法转换
        $table_name = \'user_\'.$str%10;      //取余获取 表名

        $user[\'id\']=$id;
        $user[\'age\']=\'20\';
        $user[\'name\']=\'小猪_\'.time();

        db($table_name)->insert($user);      //插入数据库

        echo $table_name;
    }

2.hash

public function part_table(){

        $id=uniqid();                            //php生成唯一 uuid
        $str = crc32($id);                       //hash 算法转换
        $hash = substr($str, 0, 1);              // 32位 与64位操作 有差别
        $table_name = \'user_\'.$hash;             //获取 表名

        $user[\'id\']=$id;
        $user[\'age\']=\'20\';
        $user[\'name\']=\'小猪_\'.time();

        db($table_name)->insert($user);      //插入数据库

        echo $table_name;
    }

 

分类:

技术点:

相关文章: