ホームページ  >  記事  >  バックエンド開発  >  データテーブル移行データ整合性検証、移行データ整合性検証_PHPチュートリアル

データテーブル移行データ整合性検証、移行データ整合性検証_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 09:56:181154ブラウズ

データテーブルの移行データの整合性検証、移行データの整合性検証

データベースを移行する際に、移行前後のデータ項目数が一致しているか、データが正常に保存されているかなど、必要な検証を行うのに非常に役立ちます。検証エントリの数は簡単です。もちろん、重要なデータについては、すべてのエントリにエラーが含まれていない必要があります。省略すると面倒です。テーブルは同じサーバー上になくなります。このときどうすればよいでしょうか? 方法はあります:

上記の方法も同時に考えたもので、悪くはないのですが、改善の余地があると思います:

  • まず第一に、メインフィールド以外ではすべてのフィールドが異なって表示されるわけではありません。
  • 全体的な効率は比較的低いです

私の考えは次のとおりです:

2番目の方法の利点は、出力ファイルが特定の範囲内に縮小されるため、比較が容易になることですが、1番目の方法のように、キーフィールドを通じて異なるデータの場所を直接見つけることができないという欠点もあります。

以下は 2 番目のメソッドの効果合計の具体的なコード実装です:

データテーブル移行データ整合性検証、移行データ整合性検証_PHPチュートリアル 'ローカルホスト'、 'ポート' => '3306', 'ユーザー' => 'ルート'、 'pswd' => '123456', 'charset' => 'utf8', 'テーブル' => 配列( 「lagou.pos」、 'lagou.pos_innodb', )、 ); //フォーマットを検証する if(!$link = mysql_connect($dbinfos['host'].":".$dbinfos['port'],$dbinfos['user'], $dbinfos['pswd'])) { die("[{$host}@{$port}] への接続に失敗しました!!"); } if(!mysql_query("セット名 {$dbinfos['charset']}")) { die("文字セットエラーの設定: ".mysql_error()); } foreach ($dbinfos['tables'] として $table) { if($is_count) { $sql = "{$table} の数値として count(*) を選択します"; $ret = mysql_query($sql); if(!$ret) { die("エラー: ".mysql_error()); } $ret = mysql_fetch_array($ret, MYSQL_ASSOC); echo "{$table} : {$ret['nums']}n"; } if($is_md5) { $path = $is_md5.DIRECTORY_SEPARATOR.$table; $sql = "{$table} から * を選択"; $ret = mysql_query($sql); $フラグ = 0; $フィールド = ''; while ($_ret = mysql_fetch_array($ret, MYSQL_NUM)) { $フラグ++; その間($_ret) { $fields .= array_pop($_ret); } if($flag % $conbine_num == 0) { file_put_contents($path, md5($fields)."n", FILE_APPEND); $フィールド = ''; } } if($flag % $conbine_num != 0 && $flag > 0) { file_put_contents($path, md5($fields)."n", FILE_APPEND); } echo "ファイル情報に保存: ".realpath($path)."n"; } }

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/989413.html技術記事データテーブルの移行データの整合性検証。移行データの整合性検証は、移行前と移行後のデータの数が同じかどうかなど、データベースを移行するときに必要な検証を行うのに非常に役立ちます...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。