想象一下,我有一个表t1:col1:varchar(255)
,col2:boolean DEFAULT true
我创建了这个准备好的声明p1:INSERT INTO t1(col1,col2) VALUES ($1,$2)
在GO中我正在执行我准备好的语句但是基于condition1我想将DEFAULT
关键字传递给预准备语句中的第二个参数,即
if condition1 {
sql.Exec(p1,"FOO","DEFAULT") // but this returns an error: invalid input syntax for type boolean: "DEFAULT"
} else{
//pass other parameters to the prepared statement
}
摘要:我试图以这个sql语句结束:
INSERT INTO t1(col1,col2) VALUES ('FOO',DEFAULT)
但我得到了这个:
INSERT INTO t1(col1,col2) VALUES ('FOO','DEFAULT') //quotations on DEFAULT
有谁知道如何解决这个问题?
答案 0 :(得分:0)
我认为这会更好,因为你已经有一个if / else检测到你没有值传递的情况,而是
INSERT INTO t1 (col1) VALUES ('FOO');
让postgres使用另一列的默认值。