我已经有了MySQL删除查询的条件,但是我也试图确保如果值为null则不执行它。
即
DELETE FROM table WHERE id (some quality here) GROUP BY id2
我试图看看我还需要做些什么来补充id2的值不应为null。有没有办法做到这一点?似乎没有一种标准方法可以使用is null,至少不使用“Group by”部分。
我不想删除所有非空行。我只是想确保我没有删除id2为null的任何行。
即。如果没有为任何给定的行填充id2(无论其他什么),则不应删除该行。
答案 0 :(得分:2)
只需添加AND
和IS NOT NULL
的其他条件:
DELETE FROM table WHERE id (some quality here) AND id2 IS NOT NULL
请注意,您无需在此处对行进行分组。事实上,you can't use GROUP BY
in a DELETE
statement, per the manual:
Single-table syntax:
DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name
[PARTITION (partition_name,...)]
[WHERE where_condition]
[ORDER BY ...]
[LIMIT row_count]