© 2026 Hedgehog Software, LLC

TwitterGitHubDiscord
More
CommunitiesDocsAboutTermsPrivacy
Search
Star
Setup for Free
Drizzle TeamDT
Drizzle Team•2y ago•
13 replies
CrashChicken

Using default values removes columns from insert and update types

export const testSchema = pgTable('test_table', {
  defaultValue: integer('default_value').notNull().default(1),
  nonDefaultValue: integer('non_default_value').notNull(),
});

db.insert(testSchema).values({
  defaultValue: 2, // this errors
  nonDefaultValue: 1,
});
export const testSchema = pgTable('test_table', {
  defaultValue: integer('default_value').notNull().default(1),
  nonDefaultValue: integer('non_default_value').notNull(),
});

db.insert(testSchema).values({
  defaultValue: 2, // this errors
  nonDefaultValue: 1,
});


Using the above schema makes the following error when I try to override the
defaultValue
defaultValue
with
2
2
.

No overload matches this call.
  Overload 1 of 2, '(value: { nonDefaultValue: number | SQL<unknown> | Placeholder<string, any>; }): PgInsertBase<PgTableWithColumns<{ name: "test_table"; schema: undefined; columns: { defaultValue: PgColumn<{ name: "default_value"; ... 12 more ...; generated: GeneratedColumnConfig<...>; }, {}, {}>; nonDefaultValue: PgColumn<...>; }; dialect: "pg"; }>, NodePgQueryResultHKT, undefined, false, never>', gave the following error.
    Object literal may only specify known properties, but 'defaultValue' does not exist in type '{ nonDefaultValue: number | SQL<unknown> | Placeholder<string, any>; }'. Did you mean to write 'nonDefaultValue'?
  Overload 2 of 2, '(values: { nonDefaultValue: number | SQL<unknown> | Placeholder<string, any>; }[]): PgInsertBase<PgTableWithColumns<{ name: "test_table"; schema: undefined; columns: { defaultValue: PgColumn<{ name: "default_value"; ... 12 more ...; generated: GeneratedColumnConfig<...>; }, {}, {}>; nonDefaultValue: PgColumn<...>; }; dialect: "pg"; }>, NodePgQueryResultHKT, undefined, false, never>', gave the following error.
    Object literal may only specify known properties, and 'defaultValue' does not exist in type '{ nonDefaultValue: number | SQL<unknown> | Placeholder<string, any>; }[]'.
No overload matches this call.
  Overload 1 of 2, '(value: { nonDefaultValue: number | SQL<unknown> | Placeholder<string, any>; }): PgInsertBase<PgTableWithColumns<{ name: "test_table"; schema: undefined; columns: { defaultValue: PgColumn<{ name: "default_value"; ... 12 more ...; generated: GeneratedColumnConfig<...>; }, {}, {}>; nonDefaultValue: PgColumn<...>; }; dialect: "pg"; }>, NodePgQueryResultHKT, undefined, false, never>', gave the following error.
    Object literal may only specify known properties, but 'defaultValue' does not exist in type '{ nonDefaultValue: number | SQL<unknown> | Placeholder<string, any>; }'. Did you mean to write 'nonDefaultValue'?
  Overload 2 of 2, '(values: { nonDefaultValue: number | SQL<unknown> | Placeholder<string, any>; }[]): PgInsertBase<PgTableWithColumns<{ name: "test_table"; schema: undefined; columns: { defaultValue: PgColumn<{ name: "default_value"; ... 12 more ...; generated: GeneratedColumnConfig<...>; }, {}, {}>; nonDefaultValue: PgColumn<...>; }; dialect: "pg"; }>, NodePgQueryResultHKT, undefined, false, never>', gave the following error.
    Object literal may only specify known properties, and 'defaultValue' does not exist in type '{ nonDefaultValue: number | SQL<unknown> | Placeholder<string, any>; }[]'.


And if I remove the
notNull
notNull
on the
nonDefaultValue
nonDefaultValue
I get no intelisense at all. I can input any object and typescript shows no errors.

db.insert(testSchema).values({
  defaultValue: 2,
  nonDefaultValue: 1,
  blabla: 'blabla', // no ts errors
});
db.insert(testSchema).values({
  defaultValue: 2,
  nonDefaultValue: 1,
  blabla: 'blabla', // no ts errors
});


I hope you can help me.
Thanks in advance!
Drizzle TeamJoin
The official Discord for all Drizzle related projects, such as Drizzle ORM, Drizzle Kit, Drizzle Studio and more!
11,879Members
Resources
Was this page helpful?

Similar Threads

Recent Announcements

Similar Threads

Id being required in types when using insert and values
Drizzle TeamDTDrizzle Team / help
2y ago
Default values not working for insert
Drizzle TeamDTDrizzle Team / help
3y ago
Cannot update / insert default value
Drizzle TeamDTDrizzle Team / help
17mo ago
parameterized insert and update
Drizzle TeamDTDrizzle Team / help
3y ago