1

2 つの異なるサーバーにデータベースがあります。

データベース"store" on server Aと同じデータベース"store" on server B

「store」データベースには、次の 2 つのテーブルがあります。

+-----------------------+           +---------------------+
:      jobs             :           :      votes          :
+.......................+           +---------------------+
:job_id     :primary key: --------> : job_id : primary key: (Linked to jobs->job_id)
+-----------+...........+           +---------------------+
:     title             :           :      up             :
+-----------------------+           +---------------------+
:   description         :           :      down           :
+-----------------------+           +---------------------+

テーブル ジョブと投票は によって関連付け (リンク) されforeign keyます。

サーバーAのデータベース「ストア」

テーブルjobsには 2300 行あり、そのjob_id(primary key)開始は 1 から 2300です

テーブルvotesには対応する行があります

サーバー B のデータベース「ストア」

テーブルjobsには 1200 行あり、そのjob_id(primary key)開始は 1 から 1200です

テーブルvotesには対応する行があります

問題:

サーバーデータベーステーブルの行(レコード)が1200以降のテーブルの増分でサーバーデータベーステーブルに挿入されるfor server "A" database to server "B"ようにデータをインポートしたい。そして、B のサーバー ジョブ job_id の新しいテーブルへの対応する挿入。A'sB'sB's"jobs" job_idB'svotesjob_id

そのようなデータのインポートを達成するための可能な安全な方法は何ですか?

私は簡単にできexport SQL from phpMyAdim from server Aますimport to server B's phpMyAdmin。しかし、記録の一貫性が失われることを恐れています。

4

2 に答える 2

1

UUID を調べることを検討してください。このアプローチを使用すると、キーはすべてのサーバーで一意のキーになります。これは、このアプローチを機能させるためにフロント サイドで行う作業が少し増えますが、一度使用すると、データベースの結合は問題になりません。

phpを挿入した後に生成されたuuidを取得する

于 2013-10-04T18:14:08.410 に答える