-1

空白の Aというフィールドを持つすべての行を削除するにはどうすればよいですか。

次のようなテーブルがあるとします。

|ID   |A   |B   |C
|1    |Data|Data|Data
|2    |    |Data|Data
|3    |Data|    |Data
|4    |    |    | 

上記の例では、何も格納されていないため、行 2 と行 4 は削除されますか?

これを行うにはどうすればよいですか私は次のようなことを考えています。

さて、別のテーブルをセットアップして、次のことを試しました。

DELETE FROM `table` WHERE `A`= ''

それは正しいですか?

アップデート

さて、別のテーブルをセットアップして、次のことを試しました。

DELETE FROM `table` WHERE `A`= ''

期待どおりに動作します。何かを壊した場合に備えて、良いテーブルにしたくありませんでした

4

3 に答える 3

3

...空白...はさまざまな方法で解釈できるため、提供したものから判断するのは困難ですが、このようなものを探している可能性があります

DELETE 
  FROM Table1
 WHERE CHAR_LENGTH(COALESCE(TRIM(A), '')) = 0

列Aにあるすべての行を削除します

  1. NULL
  2. 空の文字列値
  3. スペースのみで構成される値

これがSQLFiddleのデモです

于 2013-08-14T04:22:35.933 に答える
2

両方を使用できます

DELETE FROM `table` WHERE A = '';

また

DELETE FROM `table` WHERE A IS NULL;
于 2013-08-14T04:17:38.113 に答える
0
DELETE FROM TABLENAME
WHERE A IS NULL OR TRIM(A) = '';
于 2013-08-14T04:37:13.330 に答える