gpt4 book ai didi

Knex 上的 MySQL 左外连接未返回正确的数据

转载 作者:行者123 更新时间:2023-11-29 17:35:23 25 4
gpt4 key购买 nike

我正在对 Knex 中遇到的一些错误进行故障排除,并尝试对 2 个表(即通知和元数据)进行左连接,这两个表具有与我相同的 2 列“device_id”和“channel”想要匹配。但是,即使存在具有匹配的 device_id 和 channel 的元数据记录 (metadata_id=1),以下查询字符串也不起作用并返回以下内容。

我检查了两个表中的 device_id 和 channel 的数据类型是否相同。被困了一段时间,不确定这里出了什么问题,如果有人可以提供帮助,那就太好了!在转换为 Knex 进行嵌套查询时也存在一些问题,但这可能是一个小问题。

{
notification_id: 1,
message: 'hello world',
mode: 'email',
metadata_id: null,
unit_conversion: null
}

SELECT `notifications`.`notification_id`, `notifications`.`message`, `notifications`.`mode`,
`metadata`.`metadata_id`, `metadata`.`unit_conversion` from `notifications`
LEFT OUTER JOIN `metadata` ON (`metadata`.`device_id` = `notifications`.`device_id` AND
`metadata`.`channel` = `notifications`.`channel` AND `metadata`.`deleted_at` = null )
WHERE `notifications`.`notification_id` = 1

最佳答案

metadata.deleted_at = null 应该替换为 metadata.deleted_at is null,有很好的解释由波西米亚人在这里:https://stackoverflow.com/a/9581790/6597774

关于Knex 上的 MySQL 左外连接未返回正确的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50315486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com