sql >> Database >  >> RDS >> Mysql

Wanneer door komma's gescheiden waarden in een DB-kolom gebruiken?

Je weet het antwoord al.

Ten eerste werkt je PHP-code nog niet eens in de buurt, omdat hij alleen werkt als gebruiker 2 maar één waarde heeft in LookingFor of Drugs. Als een van deze kolommen meerdere door komma's gescheiden waarden bevat, werkt IN niet zelfs als die waarden staan ​​in exact dezelfde volgorde als de waarden van gebruiker 1. Wat verwacht IN te doen als de rechterkant heeft een of meer komma's?

Daarom is het niet "gemakkelijk" om te doen wat je wilt in PHP. Het is eigenlijk best lastig en je moet de velden van gebruiker 2 in afzonderlijke waarden splitsen, dynamische SQL schrijven met veel OR's om de vergelijking te maken en vervolgens een uiterst inefficiënte query uitvoeren om de resultaten te krijgen.

Bovendien, het feit dat je zelfs PHP-code moet schrijven om zo'n relatief eenvoudige vraag over de kruising van twee sets te beantwoorden, betekent dat je ontwerp erg gebrekkig is. Dit is precies het soort probleem (relationele algebra) die SQL bestaat om op te lossen. Een correct ontwerp stelt u in staat om het probleem in de database op te lossen en vervolgens eenvoudig een presentatielaag er bovenop implementeren in PHP of een andere technologie.

Doe het correct en je zult een veel gemakkelijkere tijd hebben.



  1. Rangschikkingsfuncties in SQL Server

  2. Cloudmigratie 101:verhuizen van SQL Server naar Azure

  3. Top 50 MySQL-interviewvragen die u in 2022 moet voorbereiden

  4. MySQL-opdrachtregelopmaak met UTF8