mysql - 使用带有外键的 MySQL 连接三个表
问题描述
现在我有一个下面的查询只运行两个表!但是,我想使用带有外键的 MySQL 加入三个表!我将 SQL 代码粘贴在下面以查看外键!
$sql = "SELECT student.*, courses.*
FROM student
INNER JOIN courses ON student.id=courses.id_courses
INNER JOIN schedule ON schedule.id_schedule = schedule.id";
这是我的数据库:
--
-- Table structure for table `courses`
--
--
-- Constraints for table `schedule`
--
ALTER TABLE `schedule`
ADD CONSTRAINT `schedule_ibfk_1` FOREIGN KEY (`id_courses`) REFERENCES `courses` (`id_courses`) ON DELETE CASCADE ON UPDATE CASCADE,
ADD CONSTRAINT `schedule_ibfk_2` FOREIGN KEY (`id`) REFERENCES `student` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;
解决方案
您要加入 3 个表,但未加入正确的外键。
SELECT student.*, courses.*
FROM schedule
JOIN student ON student.id = schedule.id
JOIN courses ON courses.id_courses = schedule.id_courses
推荐阅读
- php - 为什么 Laravel 8 sanctum token 不能工作?
- javascript - 模拟 firebase.auth() 持久性
- python - 网页抓取没有锚标签或按钮的特定表格,
- charts - 如何在tradingview api javascript中填充两行系列之间的区域
- json - 从 NGINX-1.14.0 生成 JSON 日志
- reactjs - React 测试用例在测试库中失败
- c# - 如何使用 bool 来判断玩家是否跳过
- python - 使用 pip 构建 CMake 扩展
- javascript - writeFile 输出问题。没有显示我期望看到的内容
- php - 我无法在 godady 托管服务器上运行命令“composer require classiebit/addchat-laravel-pro”