efo*_*foc 3 postgresql quotes null integer postgresql-9.3
我创建了一个默认的integer列,null但是当我输入空的双引号时,""它会出现以下错误:
Run Code Online (Sandbox Code Playgroud)ERROR: invalid input syntax for integer: ""
那integer列是否必须0?
我使用Java将查询发送到数据库.
整数列可以为null,但''不是null的空字符串.空整数(或任何其他sql类型)的正确语法是null.
双引号可用于分隔标识符,例如"myColumnName"。
单引号用于分隔值的字符串文字,喜欢'my string literal'。
对于integer值,通常使用数字常量来输入值,而这些值根本不会用引号引起来123。(但你可以施放一个字符串,太。)
数字数据类型(integer,numeric,double precision,...)不能存储空字符串(''),只有字符串类型(text,varchar,...)即可。
要传递NULL值,请使用关键字NULL。或者完全从您的列中忽略该列INSERT声明。如果未定义其他列默认值,则默认为NULL自动。
您在错误消息中看到的双引号只是Postgres为该错误消息添加的定界符,这意味着您传递了一个空字符串('')。如果你真的通过了
空双引号“”
(这需要依次用单引号引起来'""'),您将看到以下错误消息:
Run Code Online (Sandbox Code Playgroud)ERROR: invalid input syntax for integer: """"
不确定Java如何发挥作用。
考虑一下Postgres手册中的词法结构一章。
有关:
| 归档时间: |
|
| 查看次数: |
12083 次 |
| 最近记录: |