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

mysql select-forespørgsel i et serialiseret array

Som GWW siger i kommentarerne, hvis du har brug for at forespørge på tingene på denne måde, burde du virkelig overveje at gemme disse data som noget andet end en big-ole-streng (hvilket er, hvad dit serialiserede array er).

Hvis det ikke er muligt (eller du bare er doven), kan du bruge det faktum, at det serialiserede array kun er en big-ole-streng, og finde ud af en LIKE-klausul for at finde matchende poster. Den måde, PHP serialiserer data på, er ret nem at finde ud af (tip:disse tal angiver længden af ​​ting).

Nu, hvis dit serialiserede array er ret komplekst, vil dette bryde sammen hurtigt. Men hvis det er en flad array, burde du være i stand til at gøre det.

Selvfølgelig vil du bruge LIKE '%...%', så du får ingen hjælp fra nogen indikatorer, og ydeevnen vil være meget dårlig.

Det er derfor, folk foreslår, at du gemmer disse data på en normaliseret måde, hvis du har brug for at forespørge "inde i" dem.



  1. Hvordan finder man ud af, om en upsert var en opdatering med PostgreSQL 9.5+ UPSERT?

  2. Sådan opbygger du en adgangsdatabase i skyen

  3. Lær MySQL – Ny teknologiuge

  4. ORA-12514 TNS:listener kender i øjeblikket ikke til den service, der er anmodet om i forbindelsesbeskrivelsen