在MySQL中将值设置为NULL

mut*_*y91 117 mysql sql

NULL如果在我提交的表单中没有任何内容放入文本框,我想要设置一个值.我怎样才能做到这一点?我试过插入,'NULL'但这只是将字添加NULL到字段中.

我不确定我应该为此提供什么代码,我只是编写一个UPDATE查询.

Fos*_*sco 244

不要NULL在更新语句中放入引号.这应该工作:

UPDATE table SET field = NULL WHERE something = something
Run Code Online (Sandbox Code Playgroud)


And*_*ley 16

你可能正在引用'NULL'.NULL是MySQL中的保留字,可以不带引号插入/更新:

INSERT INTO user (name, something_optional) VALUES ("Joe", NULL);
UPDATE user SET something_optional = NULL;
Run Code Online (Sandbox Code Playgroud)


Bas*_*nni 10

UPDATE MyTable
SET MyField = NULL
WHERE MyField = ''
Run Code Online (Sandbox Code Playgroud)


Roc*_*mat 6

使用NULL(不带引号)。

UPDATE users SET password = NULL where ID = 4
Run Code Online (Sandbox Code Playgroud)


Mar*_*c B 6

if (($_POST['nullfield'] == 'NULL') || ($_POST['nullfield'] == '')) {
   $val = 'NULL';
} else {
   $val = "'" . mysql_real_escape_string($_POST['nullfield']) . "'";
}

$sql = "INSERT INTO .... VALUES ($val)";
Run Code Online (Sandbox Code Playgroud)

如果你'NULL'输入你的查询,那么你只是插入一个4个字符的字符串.没有引号,NULL是实际的空值.


xda*_*azz 5

你应该插入null,而不是字符串'NULL'.