ich eine Tabelle, die wie folgtDuplikate entfernen pro Zeile MySQL
| Domain | Owner | Nameservers |
__________________________________________
| Test1 | Person1 | Serv1, Serv2, Serv3 |
| Test2 | Person2 | Serv1 |
| Test3 | Person3 | Serv1, Serv2 |
Mein Plan aussieht, ist die Name-Server in eigenen Spalten aufgeteilt. (Ich brauche diese Struktur für die weitere Einfuhr an Drittes System) ..
| Domain | Owner | Nameserver1 | Nameserver2 | Namerserver3 |
_______________________________________________________________
| Test1 | Person1 | Serv1 | Serv2 | Serv 3 |
| Test2 | Person2 | Serv1 | | |
| Test3 | Person3 | Serv1 | Serv2 | |
Die leeren Räume in der Tabelle könnte eine leere Zeichenfolge oder NULL sein.
Ich habe die folgende Abfrage versucht:
CREATE TABLE temp_import_table AS
SELECT domain,
owner,
SUBSTRING_INDEX(`nameservers` , ',', 1) AS nameserver1,
SUBSTRING_INDEX(SUBSTRING_INDEX(`nameservers` , ',', 2),',',-1) AS nameserver2,
SUBSTRING_INDEX(`nameservers` , ',', -1) AS nameserver3
Aber irgendwie bekomme ich folgendes Ergebnis:
| Domain | Owner | Nameserver1 | Nameserver2 | Namerserver3 |
_______________________________________________________________
| Test1 | Person1 | Serv1 | Serv2 | Serv3 |
| Test2 | Person2 | Serv1 | Serv1 | Serv1 |
| Test3 | Person3 | Serv1 | Serv2 | Serv2 |
Wie Sie den Nameserver sehen wird mit dem „früheren“ Name-Server bevölkert sogar wenn es im csv-Feld leer ist. Kann jemand mir helfen, die doppelten Werte pro Reihe loszuwerden/zu leeren?
Nein, nein, nein, nein. Verwenden Sie eine separate Tabelle, um die Beziehung zwischen Domänen- und Nameservern zu speichern. –
Exploding CSV in Abfrage mit MySQL ist hässlich und komplex. Sie sollten diese CSV loswerden und stattdessen einen einzigen Namen Nameserver und die andere Seite dieser Beziehung aufnehmen. –
Ich weiß, dass die Struktur schrecklich ist und total gegen die Regeln, aber ich kann nichts aufgrund des Drittanbieter-Systems tun :((Es ist ein Wordpress-Plugin genannt formidable). – malen