{"record":{"id":"413370c6231cdad5","repo":"go-gorm/gorm","slug":"primary-key-required","errorCode":null,"errorMessage":"primary key required","messagePattern":"primary key required","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"errors.go","lineNumber":21,"sourceCode":"import (\n\t\"errors\"\n\n\t\"gorm.io/gorm/logger\"\n)\n\nvar (\n\t// ErrRecordNotFound record not found error\n\tErrRecordNotFound = logger.ErrRecordNotFound\n\t// ErrInvalidTransaction invalid transaction when you are trying to `Commit` or `Rollback`\n\tErrInvalidTransaction = errors.New(\"invalid transaction\")\n\t// ErrNotImplemented not implemented\n\tErrNotImplemented = errors.New(\"not implemented\")\n\t// ErrMissingWhereClause missing where clause\n\tErrMissingWhereClause = errors.New(\"WHERE conditions required\")\n\t// ErrUnsupportedRelation unsupported relations\n\tErrUnsupportedRelation = errors.New(\"unsupported relations\")\n\t// ErrPrimaryKeyRequired primary keys required\n\tErrPrimaryKeyRequired = errors.New(\"primary key required\")\n\t// ErrModelValueRequired model value required\n\tErrModelValueRequired = errors.New(\"model value required\")\n\t// ErrModelAccessibleFieldsRequired model accessible fields required\n\tErrModelAccessibleFieldsRequired = errors.New(\"model accessible fields required\")\n\t// ErrSubQueryRequired sub query required\n\tErrSubQueryRequired = errors.New(\"sub query required\")\n\t// ErrInvalidData unsupported data\n\tErrInvalidData = errors.New(\"unsupported data\")\n\t// ErrUnsupportedDriver unsupported driver\n\tErrUnsupportedDriver = errors.New(\"unsupported driver\")\n\t// ErrRegistered registered\n\tErrRegistered = errors.New(\"registered\")\n\t// ErrInvalidField invalid field\n\tErrInvalidField = errors.New(\"invalid field\")\n\t// ErrEmptySlice empty slice found\n\tErrEmptySlice = errors.New(\"empty slice found\")\n\t// ErrDryRunModeUnsupported dry run mode unsupported\n\tErrDryRunModeUnsupported = errors.New(\"dry run mode unsupported\")","sourceCodeStart":3,"sourceCodeEnd":39,"githubUrl":"https://github.com/go-gorm/gorm/blob/1d6ce99528060be18a42be09aca8d39efcb47f28/errors.go#L3-L39","documentation":"Error \"primary key required\" thrown in go-gorm/gorm.","triggerScenarios":"Thrown at errors.go:21 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Define a primary key on the model, e.g. add `gorm:\"primaryKey\"` to a field or an ID field.","If the table has no primary key, use db.Table(\"name\") with explicit Where conditions instead of model-based operations.","Check that the primary key field is exported and parsed by schema.Parse."],"exampleFix":"Define a primary key on the model: type User struct { ID uint `gorm:\"primaryKey\"` }","handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"1d6ce99528060be18a42be09aca8d39efcb47f28","analyzedAt":"2026-08-15T13:01:23.433Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}