# phpMyadmin: suchen und ersetzen in ders\_user Tabelle

**URL:** https://forum.shopware.com/t/phpmyadmin-suchen-und-ersetzen-in-ders-user-tabelle/48559
**Category:** Administration
**Created:** [28. September 2017 um 21:04 UTC](https://forum.shopware.com/t/phpmyadmin-suchen-und-ersetzen-in-ders-user-tabelle/48559 "2017-09-28T21:04:27Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![EasyRider](https://avatars.discourse-cdn.com/v4/letter/e/d26b3c/32.png) [@EasyRider](https://forum.shopware.com/u/EasyRider)
#### Post date: [28. September 2017 um 21:04 UTC](https://forum.shopware.com/t/phpmyadmin-suchen-und-ersetzen-in-ders-user-tabelle/48559/1 "2017-09-28T21:04:27Z")

</div>

Hallo Kollegen,

wir haben eine Altlast aus der Shopmigration zu SW, die uns immer wieder Probleme bereitet:

in der s\_user Tabelle in der DB wurden beim Wert „salutation“ „Herr“ und „Frau“ importiert.&nbsp;SW erwartet jedoch ms und mr.

Wenn solche Kunden ihr Passwort ändern wollen, kommt es zur Fehlermeldung.

Siehe: &nbsp;[https://forum.shopware.com/discussion/42204/geloest-shopware-bug-passwort-vergessen-passwort-zuruecksetzen-funktioniert-nicht](https://forum.shopware.com/discussion/42204/geloest-shopware-bug-passwort-vergessen-passwort-zuruecksetzen-funktioniert-nicht)

Wir können allerdings nicht tausende Einträge manuell ändern!

Ich habe betreffend phpmyadmin ein wenig recherchiert und würde folgenden Code verwenden:

UPDATE s\_user SET salutation = REPLACE(salutation, “Herr”, “mr”)

Frage an die Experten:

Stimmt das so?

Danke und Grüße  
Heiko

---

<div class="post-metadata">

### Author: ![wabAB](https://avatars.discourse-cdn.com/v4/letter/w/7feea3/32.png) [@wabAB](https://forum.shopware.com/u/wabAB)
#### Post date: [29. September 2017 um 06:44 UTC](https://forum.shopware.com/t/phpmyadmin-suchen-und-ersetzen-in-ders-user-tabelle/48559/2 "2017-09-29T06:44:43Z")

</div>

Hey,

Ich bin kein Experte aber das SQL sieht valide aus,&nbsp;hab das einfach mal an&nbsp;einem Testdatensatz von Kunden ausprobiert. Das klappt wohl. 🙂

---

<div class="post-metadata">

### Author: ![sonic](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/sonic/32/25728_2.png) [@sonic](https://forum.shopware.com/u/sonic)
#### Post date: [29. September 2017 um 06:47 UTC](https://forum.shopware.com/t/phpmyadmin-suchen-und-ersetzen-in-ders-user-tabelle/48559/3 "2017-09-29T06:47:06Z")

</div>

**UPDATE s\_user SET salutation=‘mr’&nbsp;WHERE salutation=‘Herr’;** wenn Herr zu mr werden soll  
oder  
**UPDATE s\_user SET salutation=‘Herr’&nbsp;WHERE salutation=‘mr’;** wenn mr&nbsp;zu Herr werden soll

[https://www.w3schools.com/sql/sql\_update.asp](https://www.w3schools.com/sql/sql_update.asp)

---

<div class="post-metadata">

### Author: ![wabAB](https://avatars.discourse-cdn.com/v4/letter/w/7feea3/32.png) [@wabAB](https://forum.shopware.com/u/wabAB)
#### Post date: [29. September 2017 um 07:22 UTC](https://forum.shopware.com/t/phpmyadmin-suchen-und-ersetzen-in-ders-user-tabelle/48559/4 "2017-09-29T07:22:17Z")

</div>

Oder so&nbsp; ![Sticking-out-tongue](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/1X/ac0c93e2160fb9e91c30767775d64444ad0f06c4.png "Sticking-out-tongue")

---

<div class="post-metadata">

### Author: ![sonic](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/sonic/32/25728_2.png) [@sonic](https://forum.shopware.com/u/sonic)
#### Post date: [29. September 2017 um 07:27 UTC](https://forum.shopware.com/t/phpmyadmin-suchen-und-ersetzen-in-ders-user-tabelle/48559/5 "2017-09-29T07:27:31Z")

</div>

Erste Variante führt auf allen Datensätzen die Replace-Aktion durch und schreibt den Wert - egal ob unverändert oder nicht - in die Datenbank zurück - für alle Datensätze.  
Zweite Variante schreibt ohne Replace nur Werte in die Datensätze, die betroffen sind. Da könnte man überlegen, welche Variante bei großen Tabellen schneller ist&nbsp; ![Wink](https://forum.shopware.com/plugins/CKEditor/plugins/smiley/images/wink.png "Wink")

---

<div class="post-metadata">

### Author: ![wabAB](https://avatars.discourse-cdn.com/v4/letter/w/7feea3/32.png) [@wabAB](https://forum.shopware.com/u/wabAB)
#### Post date: [29. September 2017 um 07:31 UTC](https://forum.shopware.com/t/phpmyadmin-suchen-und-ersetzen-in-ders-user-tabelle/48559/6 "2017-09-29T07:31:49Z")

</div>

Hab ich auch was gelernt 🙂

---

<div class="post-metadata">

### Author: ![sonic](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/sonic/32/25728_2.png) [@sonic](https://forum.shopware.com/u/sonic)
#### Post date: [29. September 2017 um 12:23 UTC](https://forum.shopware.com/t/phpmyadmin-suchen-und-ersetzen-in-ders-user-tabelle/48559/7 "2017-09-29T12:23:24Z")

</div>

Geht natürlich nur so, wenn - wie in diesem Fall - die ganze Zeichenkette ausgetauscht wird. Wenn nur ein kleiner Teil in der ganzen Zeichenkette ausgetauscht werden soll, ist der erste Weg ein Ansatz - sollte aber mit einer WHERE und LIKE Klausel auf betroffene Datensätze eingeschränkt werden - der Performance wegen.

**UPDATE s\_user SET salutation = REPLACE(salutation, „Herr“, „mr“) WHERE&nbsp;salutation LIKE ‚%Herr%‘;**  
Aber beachten: Replace und LIKE %Herr% greift alles, was Herr&nbsp;hat - also (egal ob mit oder ohne LIKE) auch aus Herrschaft würde mrschaft werden, aus Herrin msin ![Wink](https://forum.shopware.com/plugins/CKEditor/plugins/smiley/images/wink.png "Wink")

Wenn Du sowohl Frau als auch Herr austauschen willst, könnte es so gehen - wenn REPLACE verschachtelt werden kann \*Schulter zuck\*  
**UPDATE s\_user SET salutation = REPLACE(REPLACE(salutation , „Herr“, „mr“),„Frau“,„ms“) WHERE salutation IN(„Herr“,„Frau“);**
