package database import ( "database/sql" ) type CardStorageLocation struct { Id int CardPrintingId string StorageBox string Position int Source string } func GetLastPositionInBox(db *sql.DB, storageBox string) (int, error) { query := "SELECT Position FROM CardStorageLocation WHERE StorageBox = ? ORDER BY Position DESC LIMIT 1;" var lastPosition int err := db.QueryRow(query, storageBox).Scan(&lastPosition) if err == sql.ErrNoRows { return 0, nil } else if err != nil { return 0, err } return lastPosition, nil } func InsertCardStorageLocation(db *sql.DB, storageLocation CardStorageLocation) error { query := `INSERT INTO CardStorageLocation (CardPrintingId, StorageBox, Position, Source) VALUES (?, ?, ?, ?);` insert, err := db.Prepare(query) if err != nil { return err } _, err = insert.Exec(storageLocation.CardPrintingId, storageLocation.StorageBox, storageLocation.Position, storageLocation.Source) if err != nil { return err } return nil }