postgresql 在查询时插入空值

2022-08-30 16:38:00

在我的php代码查询中,当我将空值放入表中时,我遇到了一些错误。列名“number1”、“number2”和“number3”是整数,可以具有 null 值。

如果没有空值,则查询工作正常

查询就像这样插入到表(number1,number2,number3)值(1,2,3);

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

例如,我不会为列“number2”放置值,查询将如下所示。

插入到表(数字1,数字2,数字3)值(1,,3);

它显示错误:语法错误在或附近“,”SQL状态:42601

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

此查询可能是解决方案,但还有其他方法吗?插入到表(数字1,数字2,数字3)值(1,空,3);

因为我得到了很多这样的变量,并且我有点懒于放置一些条件,例如当该变量返回空白值时,value=“null”


答案 1

通过键入 NULL 插入值:NULL

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

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

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

答案 2

推荐