Ho un problema simile di sincronizzazione a 2 vie tra un DB sqlite Android e un DB MySql centrale. Il problema arriva davvero quando gli inserimenti sono fatti, perché ammette la possibilità di chiavi primarie replicate.
Ho creato un sistema un po 'indietro che utilizzava chiavi primarie GUID hardware e basate sul tempo invece di chiavi primarie semplici e monotonicamente crescenti. La teoria è che se i nuovi record vengono inseriti sul telefono usando sqlite, o nel server centrale usando mysql, le chiavi non entreranno mai in conflitto perché sono globalmente uniche.
Sfortunatamente, questo significa che si è entrati nella gestione delle chiavi primarie invece di prendere solo quella automatica che viene fornita con entrambi i motori DB. Ma in teoria questo approccio consente di combinare facilmente i dati di molti telefoni diversi nel database centrale e di ridistribuirli a tutti i telefoni. Sto considerando questo approccio per il mio problema con Android, anche se spero ancora di trovare una soluzione già predisposta.
La sincronizzazione del database è un'area molto complessa e ampia. Esistono numerose tecniche e strumenti, che implicano tutti compromessi di un tipo o dell'altro. In breve, non c'è una risposta breve a questo, specialmente tra diversi motori di database. –