我的表有两列-col1(int,null)和col2(int,null),我希望能够用空值或null语句更新它们。
我的代码看起来像:
$newkeylimit = $allkeylimits[$row['Group_ID']];
if($newkeylimit == ''){ $newkeylimit = NULL ; }
$newproflimit = $allproflimits[$row['Group_ID']];
if($newproflimit == ''){ $newproflimit = NULL ; }
$sql = "UPDATE ".$mssql_table_prefix."Groups SET Group_Name = '".$newgroupname."', col1 = '".$newkeylimit."', col2 = '".$newproflimit."' WHERE Group_ID = '".$row['Group_ID']."'";
$result = mssql_query($sql)
or die( "<strong>ERROR: Group update query failed</strong>" );
在代码执行之后,我在假设为空值或NULL的每列中得到0。col1和col2的默认值设置为NULL。
知道我做错了什么吗?感谢
不能设置为"NULL"。改为设置为NULL。试试这个。
$newkeylimit = $allkeylimits[$row['Group_ID']];
if($newkeylimit == "''"){ $newkeylimit = "NULL" ; }
$newproflimit = $allproflimits[$row['Group_ID']];
if($newproflimit == '""'){ $newproflimit = "NULL" ; }
$sql = "UPDATE ".$mssql_table_prefix."Groups SET Group_Name = '".$newgroupname."', col1 = ".$newkeylimit.", col2 = ".$newproflimit." WHERE Group_ID = '".$row['Group_ID']."'";
您正在向服务器传递一个字符串,而不是NULL。去掉col1和col2的撇号(')。