【发布时间】:2017-02-25 21:37:13
【问题描述】:
我发现create table 语句无法识别我要插入的通配符。我将如何使用 golang 中的准备好的语句做类似的事情?
stmt, err := tx.Prepare(`
CREATE TABLE table_number_$1 (
guid character varying(64) NOT NULL,
number integer,
name character varying(64),
PRIMARY KEY (guid),
CONSTRAINT some_onstraint
CHECK ((number = $2))
)`)
if err != nil {
return err
}
defer stmt.Close()
if _, err := stmt.Exec(
string(table_number),
table_number; err != nil {
tx.Rollback()
return err
}
我打印出来的错误是:
sql: expected 0 arguments, got 2
编辑: 显然我知道我可以像平常一样构建字符串,但想知道是否有内置方式。
【问题讨论】:
标签: postgresql go prepared-statement create-table