Kundennummern Import bei Bestehenden Kunden

Hallo

Ich habe bisher die Kundennummern nicht von Shopware generieren lassen. Leider ist das jetzt aber pflicht für eine schnittstelle die wir nutzen.

Ich habe die generierung eingeschaltet. Jedoch werden bestehende Kunden dadurch nicht berücksichtigt.

Gibt es eine Möglichkeit die Kundennummern nachträglich zu hinterlegen?

Mit dem Import/Export habe ich es versucht, nur will Shopware scheinbar die Kunden neu anlegen und bemängelt, das die E-Mailadresse bereits exestiert.

 

Danke für eure Hilfe

Keiner eine Idee?

Wie löse ich das Problem am bessten in der Datenbank?

Die Schnittstelle dürfte doch nur mit den Kundennummern arbeiten, die in der Datenbank stehen und ob diese nun von Shopware stammen oder durch Altdaten importiert wurden müsste der Schnittstelle egal sein. Wichtig sollte dabei nur sein, dass deine Nummernkreise so angesetzt sind, dass die bereits vergebenen Kundennummern nicht noch einmal vergeben werden können.

Ich habe keine Kundennummern bei den Kunden.

Genau das ist ja mein Problem. Es war bisher nicht nötig, den Kunden eine Kundennummer zu zu ordnen.

Ooooh verstehe, hatte ich anders verstanden.

Wie wäre es dann mit einer Schleife?

 

$customer = mysqli_query("select * from s_user");

if(mysqli_num_rows($customer)){
    $i=1000000;    
    while($customer_arr = mysqli_fetch_assoc($customer)){
       mysqli_query("UPDATE s_user SET customernumber = '".$i."' WHERE id = '".$customer_arr["id"]."'");
       $i++;
    }
}

Und am Ende gibst du dir dann noch $i aus und setzt den Nummernkreis dann entsprechend hoch?

Geht vielleicht auch einfacher, ist aber das Erste, was mir in den Kopf gekommen ist und dauert ja auch nicht lange…

Ich hab dein Code in eine PHP datei gespeichert und ausgeführt, leider ohne Erfolg. 

Einfach in einer PHP-Datei kann es garnicht gehen da hier der Datenbankconnect fehlt.

Wenn du aber PHPMyadmin (oder ähnliches) hast, sollte dieser Query (Tabelle s_user natürlich vorher sichern!) die user-ids neu vergeben:

UPDATE s_user
JOIN (SELECT @uid := 1000000) r
SET id=@uid:=@uid+1;