sql >> Database teknologi >  >> RDS >> Mysql

Flere afkrydsningsfelter gemt i et enkelt felt i en database

Som Jrod påpegede ved at bruge LIKE søgeord vil sandsynligvis opfylde dine behov.

Men på en sidebemærkning er der andre måder, der kan være bedre i det lange løb.

1-N-forhold

Hvis du har dine færdigheder i en separat tabel, kan du derefter forbinde dem i et en til mange forhold, det ville betyde, at du kunne forespørge efter færdighed og derefter slutte de relevante personer til forespørgslen. Dette ville gøre dig i stand til at have mere komplekse forespørgsler, såsom at kunne søge efter mere end én matchende færdighed eller betinget matchende færdighed, men ikke en anden færdighed.

Bitflag

Som du siger, at de er afkrydsningsfelter, antager jeg, at dine færdigheder er begrænset (af antallet af afkrydsningsfelter), en anden tilgang er at bruge et heltal og bruge bitflag - for eksempel:

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

Tilføjelse af den akkumulerede værdi fra alle dine afkrydsningsfelter og lagring af dette som et heltal vil give dig mulighed for at forespørge databasen ved hjælp af en bitvist OG (&)



  1. Tildeling af billeder til trævisningsknuder

  2. MySQL Vælg flere værdier

  3. Tilføj et linket server-login i SQL Server (T-SQL-eksempel)

  4. Tilslutning af SQL Server til Oracle