sql >> Database >  >> RDS >> Mysql

Is het mogelijk om een ​​MySQL-kolom met meerdere waarden als externe sleutels te hebben?

Als u geen "middle man"-tabel wilt maken om de twee tabellen te koppelen, kunt u een door komma's gescheiden waarde in het veld gebruiken, u hoeft alleen de find_in_set te gebruiken mysql-functie bij het uitvoeren van query's

GEBRUIK find_in_set

SELECT
   log.user_id, log.activity_id, log.tags,
   GROUP_CONCAT(tags.name) as taggedNames //This assumes there is a field called `name` in tags table
FROM
   log
LEFT JOIN tags
ON
   FIND_IN_SET(tags.tag_id,log.tags)
GROUP BY
   log.activity_id

GROUP_CONCAT groepeert een veld en scheidt ze door een scheidingsteken, standaard is ,




  1. Meerdere arraywaarden invoegen in mySQL-database

  2. Ons eigen hondenvoer eten - JIRA uitvoeren op MariaDB

  3. Neo4j - Laat een beperking vallen met Cypher

  4. Een kolom beperken om slechts 2 waarden te accepteren