Woraus besteht denn deine Tabelle `level` alles? Nur `user_name` (Primary) oder noch viel mehr?
Jedenfalls würd ich erstmal die Abfrage, wenn doppelte `user_name` in `fusion_users` eingetragen werden können, auf Distinct oder Group By selecten.
- Code: Alles auswählen
SELECT DISTINCT `user_name` FROM `fusion_users`
So haste schonmal keine Doppelten zum Eintragen in die Tabelle `level`.
- Wenn dann deine Tabelle `level` nur aus dem Primary `user_name` besteht, dann reicht folgendes zum syncen:
- Code: Alles auswählen
INSERT INTO `level` (SELECT DISTINCT `user_name` FROM `fusion_users`)
- Wenn dann deine Tabelle `level` nicht nur aus dem Primary `user_name` besteht, dann folgendes zum syncen:
- Code: Alles auswählen
INSERT IGNORE INTO `level` (`user_name`) (SELECT DISTINCT `user_name` FROM `fusion_users`)
Wenn wiederrum Daten geupdated werden sollen, wenn der neue `user_name` neueingetragen würde, aber doppelt wäre, dann anstelle von IGNORE halt ON DUPLICATE KEY UPDATE usw usf.
Ich denke, ein Query reicht hier vollkommen und muss nicht extern verarbeitet werden. Wenn ich das Anliegen jetzt als solches verstanden habe