No puede abarcar una consulta local y remota en una solicitud:
$remote_update=mysql_query("INSERT INTO $tablename SELECT * from $tablename");
Se supone que esto obtiene datos de la selección local y insertar en la base de datos remota ?
La consulta opera en 1 base de datos y solo en 1 base de datos. Está intentando obtener datos de una tabla e insertarlos en la misma tabla. Y, por supuesto, esto da una Duplicate entry '1' for key 'PRIMARY'