投稿しているフォームのテキストボックスに何も入力されていない場合、値をNULL
に設定します。これをどうすればいいのですか? 私は'NULL'
を挿入しようとしましたが、これは単語にNULL
を追加するだけです。MySQLで値をNULLに設定する
私はこれに対してどのようなコードを提供するべきかわかりません。私はちょうどUPDATEクエリを書いています。
投稿しているフォームのテキストボックスに何も入力されていない場合、値をNULL
に設定します。これをどうすればいいのですか? 私は'NULL'
を挿入しようとしましたが、これは単語にNULL
を追加するだけです。MySQLで値をNULLに設定する
私はこれに対してどのようなコードを提供するべきかわかりません。私はちょうどUPDATEクエリを書いています。
NULL
を引用符で囲んではいけません。これは動作するはずです:
UPDATE table SET field = NULL WHERE something = something
Huh。私はそれを試みたと断言することができた。たぶん私は同時にいくつかの間違いがあったかもしれません。ありがとう! – muttley91
同じです: '静的解析:解析中に1つのエラーが見つかりました。認識できないキーワード。 (位置35の「NULL」の近く)SQLクエリ:UPDATEプログラムSET flash = NULL'。 - 更新:問題を引き起こしたのは次のWHERE条件でした! –
NULL
(引用符は不要です)を使用してください。
UPDATE users SET password = NULL where ID = 4
UPDATE MyTable
SET MyField = NULL
WHERE MyField = ''
私は問題が彼が使用していると思う:NULLの代わりに 'NULL'。 – alfasin
しかし、これはいくつかの注意を払って、既存のnull空の空のフィールドを修正する可能性があります:P –
おそらく 'NULL' を引用しています。 NULLは、MySQLの予約語で、挿入/引用符なしで更新することができます。
INSERT INTO user (name, something_optional) VALUES ("Joe", NULL);
UPDATE user SET something_optional = NULL;
if (($_POST['nullfield'] == 'NULL') || ($_POST['nullfield'] == '')) {
$val = 'NULL';
} else {
$val = "'" . mysql_real_escape_string($_POST['nullfield']) . "'";
}
$sql = "INSERT INTO .... VALUES ($val)";
あなたのクエリに'NULL'
を入れた場合、その後、あなただけの4文字の文字列を挿入しています。引用符を使用しない場合は、NULL
が実際のNULL値です。
null
を挿入し、'NULL'
の文字列を挿入しないでください。列を想定し
がnullに設定することができる、
$mycolupdate = null; // no quotes
トリックに
...後で '$ mycolupdate'を文字列にキャストしないと仮定します。 –
を行う必要があり、ここで与えられた答えは良いですが、私はまだmysqlのテーブルにNULLではなく、ゼロを投稿するのに苦労しました。
は、最後に私はこの問題は、私がこれまでのところは良い
$quantity= "NULL";
$itemname = "TEST";
を使用していたINSERTクエリで指摘しました。
挿入クエリが不正でした。
mysql_query("INSERT INTO products(quantity,itemname)
VALUES ('$quantity','$itemname')");
訂正されたクエリを読み取る。
mysql_query("INSERT INTO products(quantity,itemname)
VALUES ('".$quantity."','$itemname')");
したがって、$数量はメインストリングの外側です。 私のsqlテーブルが0の代わりにヌル値を記録するようになりました
廃止予定のmysql_機能を放棄して、mysqliまたは私の好みのPDOに切り替えることもお勧めします。 – muttley91
mysqlは大文字で書かれたヌルと小文字で書かれたヌルを区別している可能性が高いです。
nullを指定してupdate文を使用した場合、動作しません。それをNULLに設定するとうまくいくはずです。
ありがとうございました。
引用符を使わないで 'null' *を挿入する必要があります。 –