下面是數據庫備份的例子,從一個數據庫中取數據復制到另一個數據庫中.
1,在config.php中配置實用的數據庫信息
- //源數據庫
- "DB_DSN1" => "mysql://用戶名:密碼@數據庫地址:端口/數據庫名稱",
- //目標數據庫
- "DB_DSN2" => "mysql://用戶名:密碼@數據庫地址:端口/數據庫名稱",
- //例如:
- "DB_DSN1" => "mysql://user:[email protected]:3306/db1",
2,使用方法
1) 從config.php取配置信息
$dsn1=C('DB_DSN1');
$dsn2=C("DB_DSN2");
2) 定義模型
$model=new Model();
$model->db("1",$dsn1);//將模型默認定義為dsn1
3) 定義需要查詢的源數據表
$table=$model->db("1")->table('查詢的表名稱');
$data=$table->where(查詢條件)->select();
4) 將源數據庫數據存入目標數據表
- foreach($data as $val){
- $model->db("2",$dsn2)->query("SET FOREIGN_KEY_CHECKS=0;");
- //保存
- $rev=$model->db("2",$dsn2)->table($table)->where($mWhere)->save($val);
- //添加
- //$rev=$model->db("2",$dsn2)->table($table)->add($val);
- }
- //上面的的操作將數據庫又指向了目標數據庫
- //還可以使用這樣的查詢$model->db("2",$dsn2)->query("SET FOREIGN_KEY_CHECKS=0;");
通過上面的4步可以使不同的數據庫來回的切換.
新聞熱點
疑難解答
圖片精選