【发布时间】:2010-06-29 00:43:09
【问题描述】:
我正在尝试对这些字段进行多对多查询。我想得到:
1) 属于某个类别的所有帖子
2) 帖子中的所有类别
3) 属于某个类别且具有特定 ID 的所有帖子
posts
+-------------+--------------+
| id | int(11) |
| title | varchar(255) |
| body | text |
| parent_id | int(11) |
| category_id | int(11) |
+-------------+--------------+
post_categories
+----------+--------------+
| id | int(11) |
| category | varchar(255) |
+----------+--------------+
post_category_bridge
+-------------+-------------+
| id | int(11) |
| post_id | int(11) |
| category_id | int(11) |
+-------------+-------------+
我担心的一件事是,我在 MySQL DB 上使用 PHP 的 PDO 进行开发,但我将在发布当天将该站点转移到 SQL Server。我知道 MySQL 和 SQL Server 之间存在差异。 POD 会处理这些差异,还是我需要重新编写这些查询。
提前致谢。
【问题讨论】:
-
为什么
post.id是int(11)而post_category_bridge.post_id是tinyint(11)?这在创建外键时很常见吗? -
posts 表中不需要您的 category_id。这应该是您的“桥梁”或关系表的目的。
标签: php sql mysql sql-server-2008 pdo