wie man ein Array als mysql Benutzervariable setzt

8

Ich habe nicht erwartet, dass dies so schwierig ist, aber ich versuche eine Benutzervariable in MySQL zu setzen, die ein Array von Werten enthält. Ich habe keine Ahnung, wie ich das machen soll, habe also versucht, etwas zu recherchieren und war ziemlich überrascht, keine Antwort zu finden. Ich habe es versucht:

%Vor%

Der Grund dafür ist, dass ich die Variable später in der folgenden Anweisung verwenden möchte:

%Vor%

Wäre sehr dankbar für Hilfe.

Schneller Vorlauf, am Ende habe ich die folgende schnelle und schmutzige Lösung gefunden, die mir nicht die Flexibilität gibt, das Array an anderer Stelle im Code wiederzuverwenden, aber hey, es ist eine ungeladene Admin-Aufgabe, also will ich nicht verbringe mehr Zeit damit.

%Vor%

joostschouten scheint die eleganteste Lösung gefunden zu haben (ich habe es noch nicht selbst getestet), aber das nächste Mal, wenn ich etwas schreibe, das dazu aufruft, werde ich mich erinnern, es zu testen!

    
Chris B 11.07.2012, 03:07
quelle

3 Antworten

11

Gerade die Antwort hier gefunden: Wie man radelt mit einem Array in MySQL?

%Vor%     
hepabolu 01.10.2012 09:54
quelle
0

Wie Marc B erwähnt hat, gibt es keine Array-Variable in MYSQL.

Die Alternative zur find_in_set -Lösung besteht darin, SELECT mit UNION zu verwenden, um das Array zu simulieren:

%Vor%

So wird Ihre Abfrage so aussehen:

%Vor%     
Kostanos 23.04.2014 02:11
quelle
0

Wenn der Benutzer über die Berechtigung CREATE TABLE verfügt, kann ein Array simuliert werden, indem eine temporäre Tabelle mit nur einer Spalte erstellt wird. Ein Wert oder Werte in der Tabelle können mit einer SELECT-Anweisung abgerufen werden. Temporäre Tabellen werden am Ende der Sitzung gelöscht, es ist jedoch eine gute Idee, sie explizit zu löschen, sobald sie nicht mehr benötigt werden.

%Vor%     
MrMayor 19.01.2018 08:22
quelle

Tags und Links