表格颜色
id
value
name
table 布
id
headline_de
headline_en
subline_de
subline_en
backgroundcolor_id
foregroundcolor_id
sql查询
select covers.*,
c1.name AS backgroundcolor_name,
c1.value AS backgroundcolor_value,
c2.name AS foregroundcolor_name,
c2.value AS foregroundcolor_value
from covers
join colors AS c1 on covers.backgroundcolor_id = c1.id
join colors AS c2 on covers.foregroundcolor_id = c2.id
这是做什么的?
我在“颜色”表中存储了一些带有名称的颜色。然后我存储一些英语/德语标题+副线,并在表“封面”中定义背景和前景色。 查询现在连接“颜色”表中的正确值 - 工作完美。
我需要改进的地方
当我删除任何颜色时,颜色 ID 丢失 - 查询会弹出 PHP 错误,或者只是不显示缺少颜色 ID 的行。
但我想保留封面的 sql 结果 - 这样无论我是否有背景/前景色,我都可以显示封面。有没有办法在查询中检查颜色是否不存在 > 替换为固定值以防止 PHP 错误或缺少颜色 id 的受影响封面的缺失行结果?
最佳答案
左连接返回连接左侧的所有内容,以及找到匹配项的右侧的所有内容,如果未找到匹配项,则返回连接的左侧,右侧返回 null 。
关于php - 连接表中缺少数据时出现 SQL 连接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47029995/