Alle Länder einfügen

Falls es noch jemand benötigt. Folgendes SQL-Statement weist alle EU-Länder dem Verkaufskanal zu - Achtung SALES_CHANNEL_ID_EINSETZEN entsprechend ersetzen:

INSERT IGNORE INTO sales_channel_country 
(sales_channel_id, country_id)
SELECT UNHEX('SALES_CHANNEL_ID_EINSETZEN'), id FROM country WHERE iso IN('BE','BG','DK','DE','EE','FI','FR','GR','IE','IT','HR','LV','LT','LU','MT','NL','AT','PL','PT','RO','SE','SK','SI','ES','CZ','HU','CY')

Und mit folgendem Statement wird der Versand in alle EU-Länder (außer Deutschland) deaktiviert:

UPDATE country SET shipping_available = 0
WHERE iso IN('BE','BG','DK','EE','FI','FR','GR','IE','IT','HR','LV','LT','LU','MT','NL','AT','PL','PT','RO','SE','SK','SI','ES','CZ','HU','CY')

Damit ist der Verordnung genüge getan. Kann dann natürlich nach Belieben angepasst werden und z.B. bestimmte Länder ergänzt oder für der Versand freigegeben werden.

Danke, das hat mir geholfen! Vorher musste ich nur die 249 unnötigen Länder erst einmal entfernen:

DELETE FROM sales_channel_country

WHERE sales_channel_id = UNHEX('018ddcfed9d5716eb84002847b5cf34b')

AND country_id IN (SELECT id FROM country WHERE iso != 'DE');

Hättest du auch weglassen können, DE wird ja wieder im obigen Befehl hinzugefügt.

Viele Wege führen nach Rom. Man könnte auch einfach nur die nicht EU-Länder löschen. DE habe ich aber drin gelassen, weil mindestens ein Land drin sein muss.

Hat super funktioniert. Danke.