Heim > Fragen und Antworten > Hauptteil
Diese Tabelle verfügt über eine Textspalte, die Verweise auf andere Datensätze im CSV-Format speichert, zum Beispiel:
+----+----------------+ | id | linked_folders | +----+----------------+ | 90 | NULL | | 91 | NULL | | 92 | 123,1,4,40 | | 93 | 123,1 | | 94 | NULL | | 95 | 235,8 | | 96 | 90 | | 97 | NULL | | 98 | NULL | | 99 | NULL | +----+----------------+ $id = 90; SELECT * FROM my_table WHERE id = $id OR $id is in linked_folders
Die obige Pseudoabfrage sollte die Zeilen 90 und 96 zurückgeben.
Ich möchte einen Abgleich durchführen, wenn ein bestimmter, exakter Wert, den ich habe, in diesem Feld enthalten ist.
Ich denke, dass die Verwendung von LIKE möglicherweise nicht funktioniert, weil ich nicht weiß, ob das Komma davor oder danach existiert.
Habe ich Alternativen?
P粉8850351142024-04-05 14:04:01
可以使用FIND_IN_SET
来实现:
select * from my_table where id = 90 or FIND_IN_SET(90, linked_folders) > 0