Heim >Datenbank >MySQL-Tutorial >Wie kann ich durch Kommas getrennte Zeichenfolgen in eine temporäre MySQL-Tabelle aufteilen?

Wie kann ich durch Kommas getrennte Zeichenfolgen in eine temporäre MySQL-Tabelle aufteilen?

Linda Hamilton
Linda HamiltonOriginal
2024-12-07 09:34:11389Durchsuche

How Can I Split Comma-Separated Strings into a MySQL Temporary Table?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn