あなたの声明から私が得たのは、テーブルのいずれかに他のテーブルよりも多くのレコードがあるかどうかをチェックし続けたいということです。そして、より多くのエントリでテーブルを複製します。スクリプト ファイルを使用してタスクを自動化したいので、次の 2 つの方法をお勧めします。
(i) カラム ID を比較する代わりに、テーブルごとに mysql-dump-file を作成し、サイズを比較することでどちらの文字数が多いかを確認できます。より多くのものは、明らかに人口が多いです。したがって、小さなテーブルを大きなテーブルのダンプで上書きします。
mysqldump -u <username> -p<password> -h <address> <schema> <table> > <output-file>.sql
(ii) まず、両方のテーブルの COUNT(*) の出力を 2 つの変数に格納し、それらを比較します。
$tableCount1=$(`echo mysql -u <username> -p<password> -h <address> < <input-file>.sql` | cut -d' ' -f2)
入力ファイルの内容は次のとおりです。
USE <schema>
SELECT COUNT(*) FROM <table>;
ID を比較してから、小さいテーブルを大きいテーブルのダンプに置き換えます。
テーブル全体を置き換えたくない場合は、次を使用します。
mysqldump -u <username> -p<password> -h <address> <schema> <table> --skip-triggers --compact --no-create-info --where=<column_id> > <id> > <output-file>.sql