postgresql在查询时插入null值

时间:2015-03-20 08:53:28

标签: php postgresql

在我的PHP代码查询中,当我放置一个空值时,我遇到了一些错误 进入表格。列名称" number1"," number2"和" number3"是整数,可以具有空值。

如果没有空值,查询将起作用

查询是这样的  插入表格(number1,number2,number3)值(1,2,3);

但是当我在PHP上的输入表单上留下一个空白值时,

例如,我不会为列" number2"设置值,查询将会显示 像这样。

插入表格(number1,number2,number3)值(1,,3);

它表示ERROR:语法错误在或附近"," SQL状态:42601

有人知道如何解决这个问题吗?

这个查询可能是解决方案,但还有其他方法吗? 插入表(number1,number2,number3)值(1,null,3);

因为我有这么多的变量,并且有点懒,放置一些条件,比如当该变量返回空值时,则值=" null"

1 个答案:

答案 0 :(得分:15)

通过键入NULL:

来插入NULL
INSERT INTO table(number1,number2,number3) VALUES (1,NULL,3);

如果你有一个变量,当该变量为空时你要插入一个NULL值,你可以使用NULLIF将变量用单引号括起来为此做准备(这是一个有点脏的解决方案因为你必须将变量视为空字符串,然后将其转换为整数):

INSERT INTO table(number1,number2,number3) VALUES (1,NULLIF('$var','')::integer,3);