私はCRMを別のCRMシステムに移行していますが、2つのエンティティ間でリレーションシップを作成するテーブルに5,000の挿入文を実行しようとしています(Company> Employee) 古いCRMいくつかの企業/従業員はもはや存在していませんが、関係はまだそこにあります。エラーを生成した複数のMySQL文とログ文を実行します
エンティティの1つを含むリレーションシップをインポートしようとすると、エラーが発生します。
すべての5,000個のINSERTステートメントを実行し、WHICHステートメントで生成されたエラーのログを保持します。
これを行う方法はありますか?私はMySQL Workbenchを使用していますが、それが簡単な場合でもコマンドラインで実行できます。
INSERT INTO `fb_civicrm`.`civicrm_relationship` (`contact_id_a`, `contact_id_b`, `relationship_type_id`, `is_active`, `description`, `is_permission_a_b`, `is_permission_b_a`) VALUES ((SELECT entity_id FROM fb_civicrm.civicrm_value_sugar_info_1 WHERE sugarcrmid_1 = 'e03a03ae-13d1-4bdb-799f-4fe7f3801f65' AND entity_id > 13451), (SELECT entity_id FROM fb_civicrm.civicrm_value_sugar_info_1 WHERE sugarcrmid_1 = '8ca77aa9-8bfc-2516-85ca-4fe7f2fa48bb' AND entity_id < 13452), '5', '1', '', '0', '0');
ので:私は、サブクエリのエラー(例:contact_id_aはnullにすることはできません)を取得しても、私の文の実行を継続するためにいくつかの方法が必要です
とB:私は出力をフィルタリングする方法が必要ですエラーのみを表示するMySQLワークベンチ。
(質問には関係ありませんが、最初のIDは従業員の旧システムのID、もう1つは旧システムの会社のIDです)< 13451古いシステムは従業員と会社の間で繰り返しIDを持っていたので(企業はID 1になり得、ユーザーはID 1でも同じテーブル内にある可能性があります...)そして、新しいシステムへのインポートでは、それが最善の解決策ではないかもしれないので、私は、彼らが心の中でいずれかを持っている場合は他人を投稿し、他の人を励ますが、私が使用