2017-03-03 67 views
0

我在mySQL中有以下图像表,它已被提供给我纠正,其中存储了与一组产品相关的所有图像。这些图像已经(大多数已经)或将被调整大小,以便自适应图像可以在应用程序的前端使用。但是,当前端调用api并检查请求的产品对象时,某些“主要”图像似乎没有“替代品”(调整大小/儿童)。现在我不知道api在通过调整器运行时如何保存这些图像。我刚被要求检查表格,以确保所有图像都有其他尺寸,并尽可能地尝试看看有什么不对。为此,我试图对图像表运行查询以获取所有没有“子”的父图像。MYSQL - 在没有调整大小的儿童的情况下获取父图像

样例表如下,其中parent_id键是引用主图像的id键的外键。 这种约束被设置在桌子上,其中,****在手置换了的问题,实际值:

CONSTRAINT `****` FOREIGN KEY (`parent_id`) REFERENCES `image` (`id`) 

样品表:

+----+-------+-------------+--------------+--------------+ 
| id | width | path  | publicId | parent_id | 
+----+-------+-------------+--------------+--------------+ 
| 1 | 300 | somewhere |  12  |  NULL  | 
+----+-------+-------------+--------------+--------------+ 
| 2 | 400 | somewhere2 |  34  |  1  | 
+----+-------+-------------+--------------+--------------+ 
| 3 | 500 | somewhere3 |  56  |  1  | 
+----+-------+-------------+--------------+--------------+ 
| 4 | 200 | somewhere4 |  78  |  NULL  | 
+----+-------+-------------+--------------+--------------+ 
| 5 | 200 | somewhere5 |  90  |  NULL  | 
+----+-------+-------------+--------------+--------------+ 

为了让所有的家长图像,而不孩子我用下面的查询:

SELECT publicId, version, mimeType FROM image i WHERE parent_id IS NULL AND NOT EXISTS (SELECT id FROM image r WHERE r.parent_id = i.id) 

有没有一种方法可以检查,这其实是在给定的归国未调整父图像的右下方数总共有表中的125397行?

+0

对返回的数据进行正面和负面测试,以便在查询中获得舒适。但是,查询似乎是正确的。 – Shadow

+0

好的。万分感谢。你可以补充说,作为答案,我可以接受它是正确的吗? – hyprstack

回答

1

对返回的数据进行正面和负面测试,以获得对查询的舒适度。

正面测试是确认查询返回的结果符合您的业务需求。否定测试是为了确认您的查询排除的记录应根据您的业务要求排除。

但是,查询似乎是正确的。

相关问题