ysql", "root:P@ssword1!@tcp(192.168.100.21:3306)/blog")
if err != nil {
panic(err)
}
}
func retrieve(id int) (post Post, err error) {
post = Post{}
err = Db.QueryRow("select id, content, author from posts where id = ?", id).Scan(&post.Id, &post.Content, &post.Author)
return
}
func (post *Post) create() (err error) {
statement := "insert into posts (content, author) values (?, ?)"
stmt, err := Db.Prepare(statement)
if err != nil {
return
}
defer stmt.Close()
res, err := stmt.Exec(post.Content, post.Author)
if err != nil {
return
}
lastid, err := res.LastInsertId()
if err != nil {
return
}
post.Id = int(lastid)
return
}
func (post *Post) update() (err error) {
_, err = Db.Exec("update posts set content = ?, author = ? where id = ?", post.Content, post.Author, post.Id)
return
}
func (post *Post) delete() (err error) {
_, err = Db.Exec("delete from posts where id = ?", post.Id)
return
}
|