PhpStorm 2021.3 Help

代码检查:查询中的冗余行限制

报告查询中的 FETCH 和 LIMIT 等冗余行限制子句。

示例(PostgreSQL):
创建表 foo(一个 INT);SELECT * FROM foo WHERE EXISTS(SELECT * FROM foo LIMIT 2); SELECT * FROM foo WHERE EXISTS(SELECT * FROM foo FETCH FIRST 2 ROWS ONLY);

要修复警告,您可以将 OFFSET 添加到限制子句。如果 OFFSET 缺失,那么 LIMIT 是多余的,因为 LIMIT 的使用不会影响 EXISTS 的运算结果。如果使用 OFFSET,我们会跳过第一N行,这将影响输出。
SELECT * FROM foo WHERE EXISTS(SELECT * FROM foo OFFSET 1 ROW LIMIT 2); SELECT * FROM foo WHERE EXISTS(SELECT * FROM foo OFFSET 1 ROW FETCH FIRST 2 ROWS ONLY);

禁止编辑器中的检查

  1. 将插入符号放在突出显示的行上,然后按Alt+Enter或单击意图操作图标

  2. 单击要抑制的检查旁边的箭头,然后选择必要的抑制操作。

最后修改:2022 年 2 月 11 日