Я использую GoLang в back-end и PostgreSQL в качестве базы данных. Я новичок в связях базы данных PostgreSQL с Go. Я использую Beego в качестве back-end. Я хочу создать таблицу с одним из полей типа JSON с использованием пакета Golang database/sql и lib/pq. То, что я делаюСоздать таблицу в Postgres с полем типа json с помощью GoLang
Это мой создать таблицу запроса
createtable:= `CREATE TABLE apply_leave1 (
leaveid serial PRIMARY KEY NOT NULL ,
empid varchar(10) NOT NULL ,
leavedays double precision NOT NULL DEFAULT 0 ,
mdays double precision NOT NULL DEFAULT 0 ,
leavetype varchar(20) NOT NULL DEFAULT '' ,
daytype text NOT NULL '',
leavefrom timestamp with time zone NOT NULL,
leaveto timestamp with time zone NOT NULL,
applieddate timestamp with time zone NOT NULL,
leavestatus varchar(15) NOT NULL DEFAULT '' ,
resultdate timestamp with time zone,
certificatestatus bool NOT NULL DEFAULT FALSE
certificate json NULL)`
conn := fmt.Sprintf(
"user=%s password=%s dbname=%s sslmode=disable",
"postgres",
"root",
"employee")
log.Println("Creating a new connection: %v", conn)
db, err := sql.Open("postgres", conn)
stmt, err1 := db.Prepare(createtable)
defer stmt.Close()
_, err = stmt.Exec()
if err != nil {
fmt.Println(err.Error()
}
}
Это бросает мне следующую ошибку
Handler crashed with error runtime error: invalid memory address or nil pointer dereference
Но когда я использую запрос, чтобы выбрать что-то из таблицы есть нет проблем с запросом создания таблицы или другим исполняемым кодом sql. Я ценю любую помощь. Благодаря!
Просьба упростить фрагмент кода или предоставить конкретную строку, которая вызывает ошибку. Мы не можем собрать все ваше приложение и отладить его. – I159
И еще одна важная вещь - ваша ошибка не связана с sql или любыми libs, которые вы используете. Это просто неправильная операция указателя. – I159
извините.Beginner на переполнение стека. Спасибо за ваш совет - I159. Изменил код, чтобы быть точным. Могу ли я знать, какой указатель является проблемой. Спасибо –