Php MySQL外键。。困惑的
我正在努力理解MySQL外键,希望有人能帮我 我有两个具有以下结构的表 报告Php MySQL外键。。困惑的,php,mysql,foreign-keys,Php,Mysql,Foreign Keys,我正在努力理解MySQL外键,希望有人能帮我 我有两个具有以下结构的表 报告 +-----------+------+-----------+------------------+ |id|user_id |status|report_type|request_id | +-----------+------+-----------+------------------+ | | +--
+-----------+------+-----------+------------------+
|id|user_id |status|report_type|request_id |
+-----------+------+-----------+------------------+
| |
+-------------------------------------------------+
使用者
我在reports表中有一个外键(fk\u uid
),它将reports表中的user\u id
列链接到users表中的id
我想在PHP中运行一个MySQL查询,它将获取给定用户的所有报告(通过用户名或用户id,不确定哪一个是最好的?)
谢谢 它可以通过简单的内部连接来完成
select
users.username,
users.f_name,
users.l_name ,
reports.status,reports.report_type,
reports.request_id from reports
inner join users on users.id = reports.user_id
如果要搜索特定用户,请使用where条件作为
select
users.username,
users.f_name,
users.l_name ,
reports.status,
reports.report_type,
reports.request_id from reports
inner join users on users.id = reports.user_id
where users.username = 'some user name'
如果你想用userid,那么条件是什么
where users.id = 'your user id'
若您只想获取报表,而不想获取用户信息,那个么若您有用户id,就可以直接查询报表表 假设在$userid中的变量中有userid 像
从报告中选择*user\u id=$userid
如果您想从两个表中获取数据,则需要执行如下连接
特定用户的报告:
从报告r,users u中选择r.*,u.*,其中r.user\u id=$userid
和r.user_id=u.id
所有用户的报告
从报告r,用户u中选择r.*,u.*,其中r.user\u id=u.id
如果您想了解更多关于加入的信息,请访问此链接
这与外键无关。外键只是加强数据完整性的工具。您只需要询问如何执行(相当基本的)SELECT查询。
where users.id = 'your user id'