我有一个内部连接的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 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
我真的不知道为什么它静静地失败,因为没有语法错误,只是没有任何反应。
如果选择的作品,我会吃我的短裤。 – Strawberry
@Strawberry我已经更新了这个问题,请再看看 –
如果解释器没有发现任何错误,那么它肯定是一个数据问题。我建议将可管理数量的数据提取到Excel中,然后迭代地运行查询并检查输出以确保连接按预期执行。我不是MySQL专家,因此您可能在UPDATE查询中出现语法错误。 – psrpsrpsr