mysql标签查询使用" toxi"模式

时间:2013-01-17 19:22:27

标签: php mysql tags

我正在构建一个基于toxi schema标记的网站。但是我在生成基于其标记获取链接/书签的查询时遇到了困难。使用“Toxi”链接/书签表不包含任何标记ID信息,而是信息存储在tag_map中。我需要形成一个查询,我可以在其中显示与特定tag_id匹配的链接(通过tag_map)。有人能指出我正确的方向吗?

 `links`

  `link_id` 
  `link_title`
  `link_owner_id`
  `link_url`
  `link_description` 
  `link_datecreated`


`tags`

  `tag_id` 
  `tag_title` 
  `tag_description` 
  `tag_owner_id`

 `tag_map`

  `map_id` 
  `map_link_id`
  `map_tag_id`

2 个答案:

答案 0 :(得分:2)

SELECT  l.*
FROM    tag_map tm
JOIN    links l
ON      l.link_id = tm.map_link_id
WHERE   tm.map_tag_id = @my_tag_id

答案 1 :(得分:0)

如果您使用InnoDB引擎,那么不使用关系(链接到标记的关系)并不是一个好的决定。

关系始终包含您的数据一致性

但是如果你也想选择没有关系,你可以使用交易或触发器来插入数据

然后 请尝试以下查询以检索数据


SELECT tag_map.map_id,tags.tag_title,links.link_title FROM tag_map
LEFT JOIN tags
ON tag_map.map_tag_id=tags.tag_id
LEFT JOIN links
ON tag_map.map_link_id=links.link_id