Heim >Datenbank >MySQL-Tutorial >Wie kann ich durch Kommas getrennte Zeichenfolgen in eine temporäre MySQL-Tabelle aufteilen?
Durch Kommas getrennte Zeichenfolgen in eine temporäre Tabelle in MySQL aufteilen
Mit MySQL ist es nicht möglich, eine durch Kommas getrennte Zeichenfolge direkt aufzuteilen mithilfe regulärer Ausdrücke in eine temporäre Tabelle umwandeln. Dies liegt daran, dass MySQL keine integrierte Funktion zum Teilen von Zeichenfolgen hat.
Problemumgehungslösungen
Da eine direkte Aufteilung nicht möglich ist, können Sie verschiedene Problemumgehungsmethoden anwenden:
1. Aufteilen mit benutzerdefinierten Funktionen
Sie können in MySQL eine benutzerdefinierte Funktion erstellen, um die Zeichenfolge in einzelne Werte aufzuteilen. Zum Beispiel:
CREATE FUNCTION SPLIT_STR( x VARCHAR(255), delim VARCHAR(12), pos INT ) RETURNS VARCHAR(255) RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(x, delim, pos), LENGTH(SUBSTRING_INDEX(x, delim, pos -1)) + 1), delim, '');
2. Verwenden einer Schleife
Rufen Sie die benutzerdefinierte Funktion innerhalb einer Schleife auf und erhöhen Sie die Position, bis ein leerer Wert zurückgegeben wird:
DELIMITER $$ CREATE PROCEDURE ABC(fullstr) BEGIN DECLARE a INT Default 0 ; DECLARE str VARCHAR(255); simple_loop: LOOP SET a=a+1; SET str=SPLIT_STR(fullstr, "|", a); IF str='' THEN LEAVE simple_loop; END IF; # Insert into temp table here with str going into the row insert into my_temp_table values (str); END LOOP simple_loop; END $$
3. Integration der Skriptsprache
Alternativ können Sie eine Skriptsprache wie PHP verwenden, um die Zeichenfolge aufzuteilen und die erforderlichen Operationen auszuführen.
Fazit
Während MySQL über keine dedizierte Funktion zum Teilen von Zeichenfolgen verfügt, können Sie mit diesen Workaround-Methoden durch Kommas getrennte Zeichenfolgen effektiv in temporäre Tabellen analysieren. Wählen Sie den Ansatz, der Ihren Anforderungen und Vorlieben am besten entspricht.
Das obige ist der detaillierte Inhalt vonWie kann ich durch Kommas getrennte Zeichenfolgen in eine temporäre MySQL-Tabelle aufteilen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!