Twoje LEFT JOIN z warunkiem consignment.id >id1
tworzy niemal produkt katezjański. Prawdopodobnie chcesz wstawić tylko wiersze o wyższym id
z tabeli źródłowej niż najwyższy id1
w tabeli docelowej. Powinieneś użyć SELECT MAX(id)
zamiast tego podzapytanie:
SELECT [..]
FROM `eamglo5_singaporelive`.`consignment`
WHERE `eamglo5_singaporelive`.`consignment`.`processed`=1
and `eamglo5_singaporelive`.`consignment`.date_booked>'2018-07-17'
and `eamglo5_singaporelive`.`consignment`.id > (
SELECT MAX(id1) FROM eamglo5_billingsystem.`consignment`
)