MySQL: Suchen Sie nach Spalten, die mit Ganzzahlen in einer Textspalte (CSV) übereinstimmen
P粉336536706
P粉336536706 2024-04-04 18:03:46
0
1
471

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粉336536706
P粉336536706

Antworte allen(1)
P粉885035114

可以使用FIND_IN_SET来实现:

select * 
from my_table 
where id = 90 or FIND_IN_SET(90, linked_folders) > 0

这里有演示

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage