{"record":{"id":"417ac4504c8c39a7","repo":"go-gorm/gorm","slug":"violates-foreign-key-constraint","errorCode":null,"errorMessage":"violates foreign key constraint","messagePattern":"violates foreign key constraint","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"errors.go","lineNumber":51,"sourceCode":"\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\")\n\t// ErrInvalidDB invalid db\n\tErrInvalidDB = errors.New(\"invalid db\")\n\t// ErrInvalidValue invalid value\n\tErrInvalidValue = errors.New(\"invalid value, should be pointer to struct or slice\")\n\t// ErrInvalidValueOfLength invalid values do not match length\n\tErrInvalidValueOfLength = errors.New(\"invalid association values, length doesn't match\")\n\t// ErrPreloadNotAllowed preload is not allowed when count is used\n\tErrPreloadNotAllowed = errors.New(\"preload is not allowed when count is used\")\n\t// ErrDuplicatedKey occurs when there is a unique key constraint violation\n\tErrDuplicatedKey = errors.New(\"duplicated key not allowed\")\n\t// ErrForeignKeyViolated occurs when there is a foreign key constraint violation\n\tErrForeignKeyViolated = errors.New(\"violates foreign key constraint\")\n\t// ErrCheckConstraintViolated occurs when there is a check constraint violation\n\tErrCheckConstraintViolated = errors.New(\"violates check constraint\")\n)\n","sourceCodeStart":33,"sourceCodeEnd":55,"githubUrl":"https://github.com/go-gorm/gorm/blob/1d6ce99528060be18a42be09aca8d39efcb47f28/errors.go#L33-L55","documentation":"Error \"violates foreign key constraint\" thrown in go-gorm/gorm.","triggerScenarios":"Thrown at errors.go:51 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Insert the referenced parent record first, then the child with the foreign key.","Check the foreign key value exists in the referenced table.","Verify the foreign key column names and constraint definitions match the schema."],"exampleFix":"Insert referenced parent rows first, then the child rows, to satisfy the foreign key constraint.","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-15T22:17:37.221Z"}