Nie możesz objąć zapytania lokalnego i zdalnego w jednym żądaniu:
$remote_update=mysql_query("INSERT INTO $tablename SELECT * from $tablename");
Ma to pobierać dane z wyboru lokalnego i wstaw do zdalnej bazy danych ?
Zapytanie działa na 1 bazie danych i tylko na 1 bazie danych. Próbujesz pobrać dane z tabeli i wstawić je do tej samej tabeli. I oczywiście daje to Duplicate entry '1' for key 'PRIMARY'