Thinkphp数据库分表如何插入新数据?

未分表代码简单例子:
ACTION:
$test=D("Test");
if($test->create()){
if($test->add(){
$this->success('插入成功');
}
}
MODEL:
protected $partition = array('field'=>'id','type'=>'mod','num'=>'3');
问题:数据库做分表,分表字段为自增主键,如何增加数据?看官方文档应该将当前数据传入getPartitionTableName()方法中,但当前数据的字段是自增长,如何处理?

就20分全给了,求真高手解决,没用的不用在这溜达了

分表的话一般不自增主键,为了保持跟主表的主键一致追问

请问对thinkphp了解多少?我是新手,但认为thinkphp的分表是按条件水平分割,难道我再建立个主表与这些分表关联查询?那意义何在?
这么在网上找案例也没找到相关的,就那么一种案例还都是查询方法,而且也没有单独建立主表与分表关联的做法

追答

水平分割的肯定要在主表和分表之间有关联!否则的话你什么确保一条数据的完整性。纵向分割的话不需要表与表之间有关联!因为他们的数据是完整的,就不需要有什么联系。水平分割就需要,把主表和分表关联起来!确保数据的完整性。所以分表一般没有主键,但保存有主表的主键值。

追问

正常的分表的确是要有主表,关联也要有关联表,但TP的框架貌似不存在主表,只是按条件去查找对应的分表,不管如何感谢回答,我再换个分表条件试下

追答

那你的那个条件就是主表的主键,并且是唯一值!否则调用的数据会不一致

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-01-21
指定表进行insert 其实不如用分区表比较快追问

既然用框架了就该避免使用sql语句吧,只有复杂的逻辑再用,表分区有些数据库还不支持呢,所以暂时考虑了分表

第2个回答  2014-01-17
不会这个技术。
相似回答
大家正在搜