テーブル内のすべてのレコードの1つの列に値を設定する 質問する

テーブル内のすべてのレコードの1つの列に値を設定する 質問する

テーブル内のすべてのレコードの 1 つの列をクリアしようとしています。たとえば、テーブルに 、 、 - の 3 つの列がある場合、idそのcommentlikesをクリアできるようにしたいと思いますlikes

+---+-------+-----+
|id |comment|likes|
+-----------------+
|1  |hi     |3    |
|2  |hello  |12   |
|3  |hey    |1    |
+---+-------+-----+

すると、次のようになります。

+---+-------+-----+
|id |comment|likes|
+-----------------+
|1  |hi     |     |
|2  |hello  |     |
|3  |hey    |     |
+---+-------+-----+

UPDATE値をクリアするにはMySQL を使用する必要があると思いますlikesが、すべてのレコードを反復処理してフィールドidcommentフィールドを同じに保つにはどうすればよいでしょうか?

各レコードを手動で変更したくありません。

ベストアンサー1

UPDATE your_table SET likes = NULL

likesまたは、列が許可していない場合NULL:

UPDATE your_table SET likes = ''

DB クエリの実行に使用される一部の SQL ツールでは、デフォルトですべてのレコード (句のないクエリ) の更新が禁止されています。これを構成してその savety 設定を削除するか、すべてのレコードに適用される句whereを追加して、次のようにすべてを更新することができます。wheretrue

UPDATE your_table 
SET likes = NULL
WHERE 1 = 1

もし、あんたが比較するthenには演算子NULLも必要ですIS。例:

UPDATE your_table 
SET likes = NULL
WHERE likes IS NOT NULL

なぜなら比較する NULL等号演算子(=)は、未知. しかし、ISオペレータは処理できますNULL

おすすめ記事