思路
依据入参进行选择表
把参数写入到sql语句中,即可选择保存至那个表或者查询那个表
SQL
CREATE TABLE `msg_0` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`uid` int(11) NOT NULL,
`content` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8
CREATE TABLE `msg_1` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`uid` int(11) NOT NULL,
`content` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8
CREATE TABLE `msg_2` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`uid` int(11) NOT NULL,
`content` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8
PHP
<?php
header("Content-type=text/html;charset=utf8");
$link = mysql_connect("localhost",'root','111111');
if (!$link){
die("数据库连接失败");
}
mysql_select_db("test");
//水平分表
$uid = mt_rand(1,100);//模拟用户uid
$yu = $uid%3; //分了3个表 所以是%3来取模
$table = "msg_".$yu; //判断是哪个表
$content = "hello word_".$table;
//插入数据
$sql="insert into ".$table."(uid,content) values(".$uid.",'".$content."')";
$re = mysql_query($sql);
//查询数据
$s = "select * from ".$table;
$re = mysql_query($s);
while ($row = mysql_fetch_array($re,MYSQL_ASSOC )){
ps($row);
}
function ps($str){
echo "<pre>";
print_r($str);
}
function pse($str){
echo "<pre>";
print_r($str);
exit;
}
?>