Heim > Datenbank > MySQL-Tutorial > Warum gibt die MySQL IN()-Abfrage keine Zeilen mit mehreren übereinstimmenden IDs zurück?

Warum gibt die MySQL IN()-Abfrage keine Zeilen mit mehreren übereinstimmenden IDs zurück?

Susan Sarandon
Freigeben: 2024-11-04 16:38:02
Original
890 Leute haben es durchsucht

Why Doesn't MySQL IN() Query Return Rows with Multiple Matching IDs?

MySQL IN ()-Abfrageproblem für Multi-ID-Datensätze

Beim Ausführen der Abfrage:

SELECT * FROM table WHERE id IN (1,2,3,4);
Nach dem Login kopieren

zu Beim Abrufen von Daten basierend auf mehreren IDs kann es zu einem Problem kommen, bei dem Zeilen mit mehreren übereinstimmenden IDs nicht zurückgegeben werden. Diese Abfrage bedeutet:

SELECT * FROM table WHERE id='1' or id='2' or id='3' or id='4';
Nach dem Login kopieren

wobei nur Zeilen abgerufen werden, die mit einer einzelnen ID im Satz übereinstimmen.

Lösung: Verwendung des SET-Datentyps

Um diese Einschränkung zu beheben, können Sie erwägen, den Datentyp der ID-Spalte in SET zu ändern. Dadurch können Sie mehrere Werte in einer einzigen Spalte speichern. Nachdem Sie diese Änderung vorgenommen haben, können Sie die Funktion FIND_IN_SET in Ihrer Abfrage verwenden:

SELECT * FROM table WHERE FIND_IN_SET('1', id);
Nach dem Login kopieren

Diese Abfrage gibt alle Zeilen zurück, die „1“ als einen der Werte in der ID-Spalte enthalten, unabhängig von anderen Werten gegenwärtig. Dies bietet eine flexiblere Möglichkeit, Datensätze mit mehreren IDs abzugleichen.

Das obige ist der detaillierte Inhalt vonWarum gibt die MySQL IN()-Abfrage keine Zeilen mit mehreren übereinstimmenden IDs zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage