changed queries to not use returning id
This commit is contained in:
parent
5661ac4594
commit
732c2cb084
2 changed files with 16 additions and 20 deletions
|
|
@ -22,7 +22,7 @@ func (s *Store) cakeCount() int {
|
|||
func (s *Store) loadCakes() ([]models.Cake, error) {
|
||||
out := make([]models.Cake, 0, s.cakeCount())
|
||||
|
||||
rows, err := s.db.Query("select id, name, price, category, availability from cake order by id asc;")
|
||||
rows, err := s.db.Query("select id, name, price, category, availability from cake order by id;")
|
||||
if err != nil {
|
||||
return out, err
|
||||
}
|
||||
|
|
@ -88,20 +88,18 @@ func (s *Store) SaveCake(newCake models.Cake) (int, error) {
|
|||
return newCake.ID, s.updateCake(newCake)
|
||||
}
|
||||
fmt.Println("adding a new cake", newCake)
|
||||
query := "insert into cake(name, price, category, availability) values (?, ?, ?, ?) returning id;"
|
||||
rows, err := s.db.Query(query, newCake.Name, newCake.Price, newCake.Category, newCake.Availability)
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
defer rows.Close()
|
||||
if !rows.Next() {
|
||||
return 0, errors.New("query didn't return the cake id")
|
||||
}
|
||||
err = rows.Scan(&newCake.ID)
|
||||
query := "insert into cake(name, price, category, availability) values (?, ?, ?, ?);"
|
||||
result, err := s.db.Exec(query, newCake.Name, newCake.Price, newCake.Category, newCake.Availability)
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
|
||||
id, err := result.LastInsertId()
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
newCake.ID = int(id)
|
||||
|
||||
s.cakes = append(s.cakes, newCake)
|
||||
return newCake.ID, nil
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue