phpmyadmin - 如何设置依赖于外键的字段值?

Posted

技术标签:

【中文标题】phpmyadmin - 如何设置依赖于外键的字段值?【英文标题】:phpmyadmin - How to set field values dependant on foreign key? 【发布时间】:2017-07-15 14:39:12 【问题描述】:

如何将字段设置为依赖于输入的外键?

我已经用谷歌搜索并搜索了堆栈溢出,使用了类似的问题,但找不到任何适合我正在寻找的东西。下面有图片和示例可以更好地描述我的要求。

这是我的表(我希望字段依赖于外键):

jo_route 是该表的外键:

jo_type 是该表的外键:

当我在旅程表中插入一条记录并选择路线 ID 时。如何从该外键表中获取相应信息以显示在该表的各个字段中。

例如jo_type为3条记录(如图)。外键jo_type 与此表相关联。假设我在旅程表中选择空气 (2) 的 ID。如何从旅行类型表中自动选择相关字段 (jo_seats_total)?所以它应该显示为 100。

希望我已经很好地解释了我的问题。

提前感谢您的帮助! 抱歉,帖子太长了。

【问题讨论】:

以文本格式显示表格结构。 @denny 文本格式是什么意思?和 mysql 格式一样? 【参考方案1】:

我希望这是你正在寻找的东西......

SELECT t.tt_max_seat, t.tt_name, r.ro_origin, r.ro_destination, 
j.jo_seats_total, j.jo_seats_take, j.jo_seats_available
FROM journey j
JOIN route r ON j.jo_route = r.ro_id
JOIN type t ON j.jo_type = t.tt_id
WHERE j.jo_type = 2

【讨论】:

谢谢!我了解到您在 SELECT 部分中的属性名称之前使用了 t、j 和 r 作为表名。但是在 FROM 和 JOINS 部分,旅程、路线和类型后面的字母是什么? j、r 和 t 是表别名。因此,与其用表名确定列名,不如创建别名并使用它们代替表名。它帮助 mysql 确定它需要从哪个表中选择哪一列。通常你可以说表的昵称 我不得不改变一些东西,但让那个 SQL 语句工作 - 但是它返回一个空集?

以上是关于phpmyadmin - 如何设置依赖于外键的字段值?的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 PhpMyAdmin 存储外键?

在 phpMyAdmin 中设置外键

navicat中calzz依赖与啥是否外键

8. EF Core 外键的删除模式

SQL怎么写将表中的字段设置为主键后,由该表的另外一个字段作为外键.

外键的默认值与 null