# Datenbank - Varianten - Ean Codes - Update

**URL:** <https://forum.shopware.com/t/datenbank-varianten-ean-codes-update/54923>\
**Category:** Allgemein\
**Created:** [31. August 2018 um 14:29 UTC](https://forum.shopware.com/t/datenbank-varianten-ean-codes-update/54923 "2018-08-31T14:29:49Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![eesty](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/eesty/32/15169_2.png) [@eesty](https://forum.shopware.com/u/eesty)\
**Post date:** [31. August 2018 um 14:29 UTC](https://forum.shopware.com/t/datenbank-varianten-ean-codes-update/54923/1 "2018-08-31T14:29:49Z")

</div>

Hi 🙂

Ich hätte mal ne allgemeine Frage zu MySQL.&nbsp;

Ich wollte per Datenbank alle EAN Codes Updaten.&nbsp;  
Hauptartikel EAN = Varianten EAN.&nbsp;

Sprich:&nbsp;  
EAN-Code von ID (218) = 747916351092  
EAN-Code von ID (218) = (leider noch leer)

Per Datenbank konnte ich die ID und EAN-Code ausgeben.&nbsp;  
Nun möchte ich aber das er alle ID´s mit fest gesetzten EAN speichert.

Ich hoffe ich konnte mein Problem erklären.&nbsp;  
Datenbank abfragen momentan:&nbsp;

&nbsp;

while ($zeile = $erg-\>fetch\_object()) {

&nbsp;&nbsp; &nbsp;  
&nbsp;&nbsp; &nbsp;echo ’  
EAN-Code von ID (’.$zeile-\>articleID.’) = ‘.$zeile-\>ean.’’;  
&nbsp;&nbsp; &nbsp;  
&nbsp;&nbsp; &nbsp;  
}

🙂  
&nbsp;

---

<div class="post-metadata">

**Author:** ![PStadtfeld](https://avatars.discourse-cdn.com/v4/letter/p/3bc359/32.png) [@PStadtfeld](https://forum.shopware.com/u/PStadtfeld)\
**Post date:** [31. August 2018 um 14:34 UTC](https://forum.shopware.com/t/datenbank-varianten-ean-codes-update/54923/2 "2018-08-31T14:34:35Z")

</div>

Stehen die EANs denn schon beim Hauptartikel drin?

```
UPDATE s_articles_details sad 
LEFT JOIN (SELECT articleID, EAN from s_articles_details WHERE kind=1) z ON sad.articleID = z.articleID
set sad.EAN = z.EAN
WHERE sad.kind=2

```

&nbsp;

Dadurch macht er kein Update auf eine auszulesene Tabelle, sondern eine Tmp-Table und dein Problem sollte gelöst sein, oder?

Evtl. mal in eine Testdatenbank kopieren und testen~

---

<div class="post-metadata">

**Author:** ![eesty](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/eesty/32/15169_2.png) [@eesty](https://forum.shopware.com/u/eesty)\
**Post date:** [31. August 2018 um 14:47 UTC](https://forum.shopware.com/t/datenbank-varianten-ean-codes-update/54923/3 "2018-08-31T14:47:49Z")

</div>

> [@PStadtfeld schrieb:](https://forum.shopware.com/profile/26941/PStadtfeld "PStadtfeld")
> 
> Stehen die EANs denn schon beim Hauptartikel drin?
> 
> UPDATE s\_articles\_details sad  
> LEFT JOIN (SELECT articleID, EAN from s\_articles\_details WHERE kind=1) z ON sad.articleID = z.articleID  
> set sad.EAN = z.EAN  
> WHERE sad.kind=2
> 
> &nbsp;
> 
> Dadurch macht er kein Update auf eine auszulesene Tabelle, sondern eine Tmp-Table und dein Problem sollte gelöst sein, oder?
> 
> Evtl. mal in eine Testdatenbank kopieren und testen~

Ja alle Hauptartikel haben ein EAN nummer.&nbsp;  
Wir haben leider kein Testdatenbank :/&nbsp;

Kann jemand den Code von Pstadtfeld bestätigen oder sollen wir es einfach mal ausprobieren ? Kann man das dann zurückstellen ?

Oder sollen wir ein backup machen ? :D&nbsp;

---

<div class="post-metadata">

**Author:** ![PStadtfeld](https://avatars.discourse-cdn.com/v4/letter/p/3bc359/32.png) [@PStadtfeld](https://forum.shopware.com/u/PStadtfeld)\
**Post date:** [31. August 2018 um 14:59 UTC](https://forum.shopware.com/t/datenbank-varianten-ean-codes-update/54923/4 "2018-08-31T14:59:43Z")

</div>

Wo läuft denn der Shop? Könnt ihr da nicht einfach eine neue DB einrichten als shopname\_testsystem und dann ein Backup vom Livesystem darin einspielen?

Zur not lokal einfach eine Datenbank aufsetzen (bsp. xampp) und dann darin eine Kopie der Datenbank reinpacken, ihr braucht ja keinen kompletten TestShop.

Rückgängig lässt sich ein Update-Befehl in der Regel natürlich nicht, vorab Sichern könnt Ihr natürlich aber auf dem Livesystem führt man keine Statements aus, bei denen man sich unsicher ist 😛

&nbsp;

---

<div class="post-metadata">

**Author:** ![msslovi0](https://avatars.discourse-cdn.com/v4/letter/m/b2d939/32.png) [@msslovi0](https://forum.shopware.com/u/msslovi0)\
**Post date:** [31. August 2018 um 15:01 UTC](https://forum.shopware.com/t/datenbank-varianten-ean-codes-update/54923/5 "2018-08-31T15:01:00Z")

</div>

> [@eesty schrieb:](https://forum.shopware.com/profile/29127/eesty "eesty")
> 
> Wir haben leider kein Testdatenbank ![:/](https://dub1.discourse-cdn.com/flex013/resources/emoji/confused.png ":/")&nbsp;

Uberspace klicken, Dump einspielen, Testdatenbank fertig.

> [@eesty schrieb:](https://forum.shopware.com/profile/29127/eesty "eesty")
> 
> Kann jemand den Code von Pstadtfeld bestätigen oder sollen wir es einfach mal ausprobieren ? Kann man das dann zurückstellen ?

Sollte passen. Zurückstellen kannst du das prinzpiell auch indem du einfach NULL auf alle Zeilen mit kind=2 bügelst.

> [@eesty schrieb:](https://forum.shopware.com/profile/29127/eesty "eesty")
> 
> Oder sollen wir ein backup machen ? ![:D](https://dub1.discourse-cdn.com/flex013/resources/emoji/lol.png ":D")&nbsp;

Das solltest du sowieso immer tun.

Matt&nbsp;

---

<div class="post-metadata">

**Author:** ![eesty](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/eesty/32/15169_2.png) [@eesty](https://forum.shopware.com/u/eesty)\
**Post date:** [31. August 2018 um 15:16 UTC](https://forum.shopware.com/t/datenbank-varianten-ean-codes-update/54923/6 "2018-08-31T15:16:40Z")

</div>

> [@msslovi0 schrieb:](https://forum.shopware.com/profile/20419/msslovi0 "msslovi0")
> 
> > [@eesty schrieb:](https://forum.shopware.com/profile/29127/eesty "eesty")
> > 
> > Wir haben leider kein Testdatenbank ![:/](https://dub1.discourse-cdn.com/flex013/resources/emoji/confused.png ":/")&nbsp;
> 
> Uberspace klicken, Dump einspielen, Testdatenbank fertig.
> 
> > [@eesty schrieb:](https://forum.shopware.com/profile/29127/eesty "eesty")
> > 
> > Kann jemand den Code von Pstadtfeld bestätigen oder sollen wir es einfach mal ausprobieren ? Kann man das dann zurückstellen ?
> 
> Sollte passen. Zurückstellen kannst du das prinzpiell auch indem du einfach NULL auf alle Zeilen mit kind=2 bügelst.
> 
> > [@eesty schrieb:](https://forum.shopware.com/profile/29127/eesty "eesty")
> > 
> > Oder sollen wir ein backup machen ? ![:D](https://dub1.discourse-cdn.com/flex013/resources/emoji/lol.png ":D")&nbsp;
> 
> Das solltest du sowieso immer tun.
> 
> Matt&nbsp;

Datenbank wurde gesichert. Nun testen wir einfach den Code 😃 zur Not spielen wir das alte wieder ein.&nbsp;  
&nbsp;&nbsp;

---

<div class="post-metadata">

**Author:** ![eesty](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/eesty/32/15169_2.png) [@eesty](https://forum.shopware.com/u/eesty)\
**Post date:** [31. August 2018 um 15:19 UTC](https://forum.shopware.com/t/datenbank-varianten-ean-codes-update/54923/7 "2018-08-31T15:19:03Z")

</div>

> [@PStadtfeld schrieb:](https://forum.shopware.com/profile/26941/PStadtfeld "PStadtfeld")
> 
> Stehen die EANs denn schon beim Hauptartikel drin?
> 
> UPDATE s\_articles\_details sad  
> LEFT JOIN (SELECT articleID, EAN from s\_articles\_details WHERE kind=1) z ON sad.articleID = z.articleID  
> set sad.EAN = z.EAN  
> WHERE sad.kind=2
> 
> &nbsp;
> 
> Dadurch macht er kein Update auf eine auszulesene Tabelle, sondern eine Tmp-Table und dein Problem sollte gelöst sein, oder?
> 
> Evtl. mal in eine Testdatenbank kopieren und testen~

Hat Funktioniert ! SUPER ! GENIAL 😃 Danke dir i love the community from ShopWare :D&nbsp;
