sql >> Databasteknik >  >> RDS >> Mysql

Är det möjligt att ha en MySQL-kolumn som innehåller flera värden som främmande nycklar?

Om du inte vill skapa en "mellanman"-tabell för att länka de två tabellerna kan du ha ett kommaseparerat värde i fältet, du behöver bara använda find_in_set mysql-funktion när du gör frågor

AT ANVÄNDA 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 kommer att gruppera ett fält och separera dem med en avgränsare, standard är ,




  1. Uppdatera kolumn med genomsnittsberäkning

  2. Ska primärnycklar alltid läggas till i en innodb-tabell?

  3. MySQL sammanlänkar alla kolumner

  4. Onlineverktyg för att testa SQL-design och frågor