内部結合を使用した同様の選択クエリが完全に機能する間、内部結合を使用したMySQLクエリ更新が動作しません。MySQL、内部結合を使用した更新クエリが暗黙的に失敗する
ワーキングSELECTクエリ
SELECT fa.tax_rate, efa.entity_id
FROM water_civicrmv2.civicrm_financial_account as fa
INNER JOIN water_civicrmv2.civicrm_entity_financial_account efa ON efa.financial_account_id = fa.id
INNER JOIN water_civicrmv2.civicrm_option_value cov ON cov.value = efa.account_relationship
INNER JOIN water_civicrmv2.civicrm_option_group cog ON cog.id = cov.option_group_id
WHERE efa.entity_table = 'civicrm_financial_type'
AND cov.name = 'Sales Tax Account is'
AND cog.name = 'account_relationship'
AND fa.is_active = 1
失敗しましたUPDATEクエリ
UPDATE water_civicrmv2.civicrm_financial_account as fa
INNER JOIN water_civicrmv2.civicrm_entity_financial_account efa ON efa.financial_account_id = fa.id
INNER JOIN water_civicrmv2.civicrm_option_value cov ON cov.value = efa.account_relationship
INNER JOIN water_civicrmv2.civicrm_option_group cog ON cog.id = cov.option_group_id
SET fa.tax_rate = '123123'
WHERE efa.entity_table = 'civicrm_financial_type'
AND cov.name = 'Sales Tax Account is'
AND cog.name = 'account_relationship'
AND fa.is_active = 1
何の構文エラーがないとして、それは静かに失敗した理由を、私は本当に知らない、ただ何も起こりません。
をそのSELECT作品ならば、私は私のパンツを食べますよ。 – Strawberry
@Strawberry質問を更新しました。もう一度見てください –
インタプリタがエラーをスローしない場合は、データの問題でなければなりません。管理可能な量のデータをExcelに引き込み、繰り返しクエリを実行し、出力をチェックして結合が期待どおりに実行されていることを確認することをお勧めします。私はMySQLの専門家ではないので、UPDATEクエリに構文エラーがある可能性があります。 – psrpsrpsr