首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何正确地将mysql字段更新为NULL?

问如何正确地将mysql字段更新为NULL?
EN

Stack Overflow用户
提问于 2011-11-04 09:25:46
回答 2查看 268关注 0票数 0

在sql查询中使用变量时,如何正确地使用空值更新mysql字段?

我有一个名为$timestamp的变量。当它被设置为date( Y-m-d h:i:s )时,我必须用引号将它括起来,因为我在mysql查询中传递了一个字符串。当$timestamp设置为NULL时,数据库查询将包含''作为$timestamp的值,并且该字段将更新为0000-00-00 00:00:00。将此字段保留为空很重要,以表明该进程以前从未运行过。

我不想使用now(),因为这样会导致我的sql语句与我的类变量$timestamp不同步。

我不想将$timestamp设置为'NULL‘,因为那样该变量就不准确了。它不再是NULL,它被设置为包含单词NULL的字符串。

这里我漏掉了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-18 07:02:19

经过大量研究,我发现这是一个众所周知的问题,如果您直接编写sql查询,则没有好的解决方案。

正确的解决方案是使用数据库抽象层,如PDO (适用于PHP )或活动记录(用于Codeignitor和Ruby on Rails等框架)。

票数 -1
EN

Stack Overflow用户

发布于 2011-11-04 09:29:47

将列设置为NULL的正确SQL语法为:

代码语言:javascript
复制
  UPDATE Table SET Column = NULL WHERE . . .

(请注意,文字NULL前后没有引号)。

您是使用SQL还是使用某种框架来执行此更新?如果是一个框架,它应该识别空值,并将它们正确地传递给数据库。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8003939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档