Ich habe ein Feld COLORS (varchar(50))
in meiner Tabelle SHIRTS
, das eine durch Kommas getrennte Zeichenfolge wie 1,2 enthält ,5,12,15,
. Jede Zahl steht für eine verfügbare Farbe.
Wenn ich die Abfrage wähle * aus Hemden mit Farben wie „%1%“ ausführe
um alle Hemden zu erhalten, die rot sind (Farbe=1), erhalte ich auch die Farbe grau ( = 12) und orangefarbene (=15) Hemden.
Wie soll ich die Abfrage so umschreiben, dass sie nur alle Farben mit der Farbe 1 auswählt, anstatt alle Farben, die die Nummer 1 enthalten?
FIND_IN_SET在这种情况下是你的朋友
经典的方法是在左右两边添加逗号:
但是find_in_set也可以使用: