回答:
特別な構文はありません:
CREATE TABLE your_table (some_id int, your_column varchar(100));
INSERT INTO your_table VALUES (1, 'Hello');
UPDATE your_table
SET your_column = NULL
WHERE some_id = 1;
SELECT * FROM your_table WHERE your_column IS NULL;
+---------+-------------+
| some_id | your_column |
+---------+-------------+
| 1 | NULL |
+---------+-------------+
1 row in set (0.00 sec)
NULL
SQLの特別な値です。プロパティをnullにするには、次のようにします。
UPDATE table SET column = NULL;
これのIS
代わりに使用=
すると、問題の構文例が解決されます。
UPDATE studentdetails
SET contactnumber = 9098979690
WHERE contactnumber IS NULL;
列がnullになる可能性があるかどうかを確認してください。あなたはそれを使うことができます
mysql> desc my_table;
列をnullにできない場合、値をnullに設定すると、その列がキャスト値になります。
ここに例
mysql> create table example ( age int not null, name varchar(100) not null );
mysql> insert into example values ( null, "without num" ), ( 2 , null );
mysql> select * from example;
+-----+-------------+
| age | name |
+-----+-------------+
| 0 | without num |
| 2 | |
+-----+-------------+
2 rows in set (0.00 sec)
mysql> select * from example where age is null or name is null;
Empty set (0.00 sec)
上記の回答では、同じことについて多くの方法と繰り返しが提案されています。質問のとおり答えを探し続けましたが、ここでは見つかりませんでした。
ただし、上記の「null値で列を更新する」の質問の反対は、「列の行をすべてNULLに更新する」である可能性があります。
このような状況での作業後
update table_name
set field_name = NULL
where field_name is not NULL;
is
is not
mysql でも動作します
真の null ではなく、空の文字列のもう1つの考えられる理由は、フィールドがインデックスであるか、インデックスの一部であるということです。これは私に起こりました:phpMyAdminを使用して、「Null」チェックボックスをオンにして「保存」ボタンをクリックすることにより、テーブルの1つのフィールドの構造を編集してNULLを許可しました。「表の価格設定は正常に変更されました」と表示されたため、変更が行われたと想定しましたが、実際には行われませんでした。これらのフィールドをすべてNULLに設定するためにUPDATEを実行した後、それらは代わりに空の文字列に設定されたため、テーブル構造をもう一度見てみると、 " Nullそのフィールドの列は「いいえ」に設定されました。そのとき、フィールドが主キーの一部であることに気づきました。
更新クエリを使用してnull値を設定する場合は、列の値を(引用符なしで)NULLに更新します。更新テーブル名セット列名= NULL
ただし、mysqlワークベンチ内でフィールド値を直接編集している場合は、(Esc + del)キーストロークを使用して、選択した列にnull値を挿入します
あなたが従うなら
UPDATE table SET name = NULL
次に、名前は ""です。MYSQLではNULLではなく、クエリを意味します
SELECT * FROM table WHERE name = NULL
仕事をしないか、自分をがっかりさせる