以下是该方案:
已更新 感谢anakata指出表锁和重叠会话的问题。
启动交易 运行一堆查询,特别是这两个(删除私有数据):
START TRANSACTION
... various select statements...
INSERT INTO `leads` (`vertical_id`, `offer_id`, `campaign_id`, `affiliate_id`, `creative_id`, `is_test`, `ignoreme`, `qualified`, `usid`, `first_name`, `last_name`, `email`, `address`, `city`, `state`, `zip`, `phone`, `ip_address`, `referrer`, `duplicate_hash`, `address2`, `form_message`, `microtime`, `created`, `sub_id`, `score`, `imported`, `buyer_price`, `purchased_price`) VALUES ('45', '82', '151', '3', '0', 0, 0, 1, '0510', 'CharXX', 'MXX', 'XXXXX@yahoo.com', '451 XXX', 'Hagerstown', 'MD', '21740', '301-------', '405877318', 'X', 'e0534ea843c35d0f300ed4ff6e65b8db', '', 'redacted', '1368665153.6829', NOW(), '333', 0, 0, '0', '0')
INSERT INTO `fields_leads` (`lead_id`, `field_id`, `vertical_id`, `offer_id`, `campaign_id`, `value`) VALUES ('56575', '866', '45', '82', '151', 'CharXX')
COMMIT
与此同时,正在进行其他交易。发布trasaction后,insertID为56575用作其他表中用于各种业务相关内容的键。
问题是当你去寻找lead.id = 56575它消失了! general.log中没有DELETE FROM leads
语句。也没有关于此查询的回滚语句。我正在运行MySQL客户端版本:5.0.77。任何见解都会非常有用,谢谢!