下面举个例子:
根据id分 分10个表
首先需要创建这十个表
create table 'test'.'user_0'(
'id' bigint(20),'name' varchar(100),'sex' char(1)
) engine=innodb charset utf8; //像这样创建10个表
需要注意,id不能是自增的,表结构必须一致
接下来创建合并表
create table 'test'.'user_0'(
'id' bigint(20),'name' varchar(100),'sex' char(1),primary key('id')
) engine=innodb charset utf8 insert_method=no union = ('10个表的表名称');
如果像insert操作,那么就要用到一张表来专门创建id
create table 'test'.'create_user_id'(
'id' bigint(20) auto_icrement primary key,'note' char(2)
)engine = innodb default charset = utf8;
插如数据时,先由这个表来产生id
function get_id(){
$sql = "insert into create_user_id(note) values("创建")";
$db->query($sql);
return $db->insertID();
}
接下来就是通过id来获取表名
function new_Article($name,$sex){
$id=get_id();
$table_name=get_name($id);
$sql="insert into {$table_name} (id,subject,content) values('{$id}','{$name}','{$sex}')"
#db->query($sql);
}
function get_name($id){
return 'user_'.intval($id)%10;
}