Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Mehrere Kontrollkästchenoptionen, die in einem einzigen Feld in einer Datenbank gespeichert sind

Wie Jrod mit dem LIKE Schlüsselwort wird wahrscheinlich Ihre Anforderungen erfüllen.

Nebenbei bemerkt gibt es jedoch andere Möglichkeiten, die auf lange Sicht besser sein könnten.

1-N-Beziehung

Wenn Sie Ihre Fähigkeiten in einer separaten Tabelle haben, können Sie sie dann in einer Eins-zu-Viele-Beziehung verbinden, das würde bedeuten, dass Sie nach Fähigkeiten abfragen und dann die relevanten Personen mit der Abfrage verbinden könnten. Dies würde Ihnen komplexere Abfragen ermöglichen, z. B. die Suche nach mehr als einer passenden Fertigkeit oder bedingt passenden Fertigkeit, aber nicht nach einer anderen Fertigkeit.

Bit-Flags

Da Sie sagen, dass es sich um Kontrollkästchen handelt, gehe ich davon aus, dass Ihre Fähigkeiten begrenzt sind (durch die Anzahl der Kontrollkästchen). Ein anderer Ansatz besteht darin, eine Ganzzahl und Bit-Flags zu verwenden – zum Beispiel:

  • Java =1
  • C++ =2
  • Lisp` =4
  • haskel =8
  • Python =16

Wenn Sie den kumulativen Wert aller Ihrer Kontrollkästchen addieren und als Ganzzahl speichern, können Sie die Datenbank mit einem bitweise UND (&)