Skip to Content

Errors

ErrNotFound

ErrNotFound is returned when a query does not return any results. This error may be returned in FindUnique, FindFirst, but also when updating or deleting single records using FindUnique().Update() and FindUnique().Delete().

post, err := client.Post.FindFirst( db.Post.Title.Equals("hi"), ).Exec(ctx) if err != nil { if errors.Is(err, db.ErrNotFound) { panic("no record with title 'hi' found") } panic("error occurred: %s", err) }

IsErrUniqueConstraint

A unique constraint violation happens when a query attempts to insert or update a record with a value that already exists in the database, or in other words, violates a unique constraint.

user, err := db.User.CreateOne(...).Exec(cxt) if err != nil { if info, err := db.IsErrUniqueConstraint(err); err != nil { // Fields exists for Postgres and SQLite log.Printf("unique constraint on the fields: %s", info.Fields) // you can also compare it with generated field names: if info.Fields[0] == db.User.Name.Field() { // do something log.Printf("unique constraint on the `user.name` field") } // For MySQL and MongoDB, use the constraint key log.Printf("unique constraint on the key: %s", info.Key) } }
Last updated on