在sql查询中使用变量时,如何正确更新具有NULL值的mysql字段?
我有一个名为 $timestamp 的变量。当它设置为 date( Y-m-d h:i:s )
时,我必须将其用引号引起来,因为我在 mysql 查询中传递了一个字符串。当 $timestamp 设置为 NULL 时,数据库查询包含 ''
作为 $timestamp 的值,并且字段更新为 0000-00-00 00:00:00
。将此字段保留为 NULL 很重要,以表明该进程以前从未运行过。
我不想使用 now(),因为这样我的 sql 语句与我的类变量 $timestamp 不同步。
我不想将 $timestamp 设置为“NULL”,因为那样该变量就不准确。它不再是 NULL,而是设置为包含单词 NULL 的字符串。
我在这里缺少什么?
最佳答案
将列设置为 NULL 的正确 SQL 语法是:
UPDATE Table SET Column = NULL WHERE . . .
(请注意文字 NULL 周围缺少引号)。
您是否使用 SQL 或某种框架执行此更新?如果是一个框架,它应该识别 NULL 值并将它们正确地传递到数据库。
关于mysql - 如何正确更新 mysql 字段为 NULL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8003939/