tabellen kopieren

hups1803

Erfahrenes Mitglied
Hallo,

ich kopiere folgende tabellen mit diesen Code

PHP:
mysql_query("INSERT INTO usr_web5_2.e107_user SELECT * FROM usr_web5_7.e107_user");

das funktioniert auch , aber leider nur wenn die ziel datenbank leer ist !!

geht das auch anders ****

mit update hatte ich es versucht, aber nicht hinbekommen
 
Ich vermute mal, dass es deswegen nicht funktioniert, wenn die Tabelle nicht leer ist, weil da Primary Keys oder andere Uniques doppelt sind. Ich würde dann so vorgehen:

- Selektiere alle Datensätze aus Tabelle usr_web5_7.e107_user
- Loope über die Ergebnisse und schau mittels SELECT nach, ob die Uniques vergeben sind. Wenn ja, ignorieren (evtl. loggen) und mit dem nächsten fortfahren
- Wenn nicht vorhanden, mittels INSERT einfügen, aber den Primary Key nicht übernehmen (der wird ja hoffentlich mittels AUTO_INCREMENT selbst vergeben).
 
IGNORE zu verwenden würde aber zur Folge habe, dass die Datensätze, bei denen der Primärschlüssel identisch zu existenten ist, gar nicht mit übernommen werden.

Also entweder über die Einzel-Felder lösen (ID auslassen) oder bspw. auch eine Stored-Procedure verwenden, wenn es weitere Unique-Indizes gibt.
 
Zurück