TheMathemagicians/sevenkeys/database/operations/inserts.go

34 lines
838 B
Go

package operations
import (
"database/sql"
)
func InsertCardStorageLocation(db *sql.DB, cardPrintingId string, isFoil bool, storageBox string, source string) error {
var lastPosition int
getLastPositionQuery := `SELECT Position FROM CardStorageLocation WHERE StorageBox = ? ORDER BY Position DESC LIMIT 1;`
err := db.QueryRow(getLastPositionQuery, storageBox).Scan(&lastPosition)
var nextPosition int
if err == sql.ErrNoRows {
nextPosition = 1
} else {
nextPosition = lastPosition + 1
}
insertQuery := `INSERT INTO CardStorageLocation
(CardPrintingId, IsFoil, StorageBox, Source, Position)
VALUES (?, ?, ?, ?, ?);`
insert, err := db.Prepare(insertQuery)
if err != nil {
return err
}
_, err = insert.Exec(cardPrintingId, isFoil, storageBox, source, nextPosition)
if err != nil {
return err
}
return nil
}