Wie wird die sales_channel_id genau geändert?

Hallo zusammen

Ich möchte meine sale_channel_id bei Kunden und Bestellungen gerne ändern. Nun habe ich dazu aber einige Fragen. Wenn ich in der Tabelle „sales_channel“ im Feld id nachschaue, sehe ich z.B. im phpAdmin-Bearbeitungsmodus folgende IDs:

8f606fe4a7ff456b9f337d935e6af1e41
f1ab2aa203bf40f9892c30345247eab6

In der Ansicht werden diese aber zusätzlich mit 0x vorangestellt dargestellt, also:
0x8f606fe4a7ff456b9f337d935e6af1e41
0xf1ab2aa203bf40f9892c30345247eab6

Wie ich gelesen habe, handelt es sich dabei um sogenannte UUIDs.

Gehe ich nun in die Tabellen order und customer in die jeweiligen Felder „sales_channel_id“ finde ich dort jeweils ein Dropdown bei welchem meine IDs wiederum wie folgt dargestellt werden:

0x8f606fe4a7ff456b9f337d935e6af1e41 - 0x8f606fe4a7ff456b9f337d935e6af1e4

0xf1ab2aa203bf40f9892c30345247eab6 - 0xf1ab2aa203bf40f9892c30345247eab6

Wieso bei der ersten ID Wiederholung die 1 hinten fehlt, ist mir ein Rätsel.

Frage: Wie ändere ich nun z.B. ID 0x8f606fe4a7ff456b9f337d935e6af1e41 nach
0xf1ab2aa203bf40f9892c30345247eab6 ?

UPDATE `order` SET `sales_channel_id` = '0xf1ab2aa203bf40f9892c30345247eab6' WHERE `sales_channel_id` = '0x8f606fe4a7ff456b9f337d935e6af1e4'

funktioniert ja leider nicht, da diese in der order oder customer Tabelle immer doppelt dargestellt werden. Wer kann mir da etwas Licht ins Dunkel geben?

Besten Dank im Voraus

LG

Gibts hier wirklich niemanden der sich mit den UUids gut auskennt? Ich finde hier im Forum unzählige Postings zu diesem Thema, welche z.T. vor mehr als 1 Jahr geschrieben wurden, aber noch nie konnte einer genau sagen, wie man z.B. Kunden einem anderen Verkaufskanal zuordnet. Ist das wirklich derart komplex mit den UUids geworden? Ich würde es gerne verstehen.

Vielleicht einfach nur so:

UPDATE `order` SET `sales_channel_id` = 0xf1ab2aa203bf40f9892c30345247eab6 WHERE `sales_channel_id` = 0x8f606fe4a7ff456b9f337d935e6af1e4

Die UUIDs nicht als String behandeln :slight_smile:

Eine UUID ist nicht als String, sondern als BINARY gespeichert. Also kannst du es nicht einfach wie ein String behandeln.

Dafür gibt es in SQL Convert-Funktionen oder …

Besten Dank für den Hinweis!

Dann vermutlich wie folgt:

UPDATE customer
SET sales_channel_id = UNHEX(REPLACE('f1ab2aa203bf40f9892c30345247eab6', '-', ''));

Wisst ihr ob noch andere Tabellen ausser customer und order mit der sales_channel_id verknüpft sind?

Nahezu alle Tabellen (übertrieben, aber sehr viele) sind mit der sales_channel_id verknüpft. Du findest es in Kategorien, Produkten, etc.

Ja klar, sorry. Ich wollte eigentlich mehr wissen, welche Tabellen für Kunden und Bestellungen relevant sind.

Wenn du in GitHub in die beiden Entities reinschaust, dann kannst du es daraus ableiten.

Ansonsten im Zweifel in der Datenbank alles was mit customer_ und product_ beginnt definitiv.