sql >> Database >  >> RDS >> PostgreSQL

Heeft de fout die wordt geretourneerd door db.Exec(...) een code?

De lib/pq pakket kan fouten van het type *pq.Error retourneren , wat een structuur is. Als dit het geval is, kunt u alle velden gebruiken om de details van de fout te inspecteren.

Dit is hoe het kan:

if err, ok := err.(*pq.Error); ok {
    // Here err is of type *pq.Error, you may inspect all its fields, e.g.:
    fmt.Println("pq error:", err.Code.Name())
}

pq.Error heeft de volgende velden:

type Error struct {
    Severity         string
    Code             ErrorCode
    Message          string
    Detail           string
    Hint             string
    Position         string
    InternalPosition string
    InternalQuery    string
    Where            string
    Schema           string
    Table            string
    Column           string
    DataTypeName     string
    Constraint       string
    File             string
    Line             string
    Routine          string
}

De betekenis en mogelijke waarden van deze velden zijn Postres-specifiek en de volledige lijst is hier te vinden:Fout- en meldingsberichtvelden



  1. Java Verbinding maken met externe MySQL-database

  2. Krijg de primaire sleutelkolom van een tabel in oracle

  3. Een tabel bijwerken binnen een select-statement

  4. java mysql aantal rijen tellen