/ / Wie vergleiche ich zwei Arrays in einer MySQL-Abfrage? - PHP, MySQL, Arrays, Vergleich

Wie vergleicht man zwei Arrays in MySQL Abfrage? - PHP, MySQL, Arrays, Vergleich

Ich habe eine Tabelle mit dem Namen mm_test wie folgt:

ID-Ausbildungen 1 3,4,6,8,9

Ich möchte prüfen, ob dieses Array (4,6) enthält. So überprüfen Sie dies mit MySQL-Abfrage. Mysql "IN" Befehl funktioniert nicht für mich.

Ich habe die Frage so gestellt ...

Wählen Sie * aus mm_test, wo Ausbildungen IN (4,6);

Diese Abfrage ergab jedoch ein leeres Ergebnis. Bitte helfen Sie mir jemand.

Antworten:

7 für die Antwort № 1

Sie können dies mit verwenden find_in_set():

where find_in_set(4, educations) > 0 and
find_in_set(6, educations) > 0

Dies ist jedoch im Allgemeinen ineffizient. Das Problem ist Ihre Datenstruktur. Sie sollten eine Junction-Tabelle mit einer Spalte für jede Bildung verwenden, anstatt eine Liste von Ganzzahlen in einer sehr ungeeigneten Datenstruktur zu speichern - einer Zeichenfolge.


0 für die Antwort № 2

Benutze das FIND_IN_SET-Handbuch

SELECT *
FROM mm_test
WHERE FIND_IN_SET(4, educations) > 0
AND FIND_IN_SET(6, educations) > 0;