PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Czy błąd zwrócony przez db.Exec(...) ma kod?

lib/pq pakiet może zwracać błędy typu *pq.Error , który jest strukturą. Jeśli tak, możesz użyć wszystkich jego pól, aby sprawdzić szczegóły błędu.

Oto jak można to zrobić:

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 ma następujące pola:

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
}

Znaczenie i możliwe wartości tych pól są specyficzne dla Postres, a pełną listę można znaleźć tutaj:Pola komunikatów o błędach i powiadomieniach



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Znajdź nowe rekordy dla każdego z ostatnich n miesięcy w PostgreSQL

  2. czy klucz podstawowy jest automatycznie indeksowany w postgresql?

  3. PHPUnit:Jak przetestować interakcje z bazą danych na zdalnym serwerze Postgres?

  4. SchemaSpy PostgreSQL - WARN - Błąd połączenia

  5. Nie można utworzyć EntityManager w JavaFx