7

我将 Zend 框架与 MySQL、Apache 和 Ubuntu 9.04 一起使用。

我正在尝试将 NULL 值插入到数据库中,如下所示:

$personObj->setPersonId( '1' );
$personObj->setPersonEmail('NULL');
$personObj->save();

但是 'NULL' 作为字符串而不是NULL存储在数据库中。

当我使用这个时:

$personObj->setPersonId( '1' );
$personObj->setPersonEmail(NULL);
$personObj->save();

但是什么也没有发生,之前的条目没有改变。

我应该怎么做才能将 NULL 值插入 MySQL?

4

3 回答 3

17

如果您在分配后没有修改任何值,那么

new $personObj->setPersonEmail(new Zend_Db_Expr('NULL'));
于 2009-11-13T06:49:29.270 回答
1

第一个想法是直接传入 null 关键字,不带引号。正如 pavium 所说,它周围的引号将它变成一个字符串。

于 2009-11-13T06:23:17.870 回答
0

我认为将 NULL 放在引号中是使它看起来像字符串的原因。

我不知道您的方法,但是对于通过mysqlINSERT 命令直接插入,NULL 周围的单引号是不正确的。

于 2009-11-13T06:20:50.527 回答