Invalid default value when using defaultNow()

Receiving error:
Invalid default value for 'updated_at' (errno 1067) (sqlstate 42000) (CallerID: 2ga5bxx7mhtso265npy7): Sql: "alter table menus add UNIQUE INDEX menus_public_id_idx (public_id)", BindVars: {REDACTED}`
Invalid default value for 'updated_at' (errno 1067) (sqlstate 42000) (CallerID: 2ga5bxx7mhtso265npy7): Sql: "alter table menus add UNIQUE INDEX menus_public_id_idx (public_id)", BindVars: {REDACTED}`
10 Replies
Cory
CoryOP3y ago
Seems to happen where there is uniqueindex on table
Andrii Sherman
is it PlanetScale?
Cory
CoryOP3y ago
Yes Any updates on this?
Andrii Sherman
Yeah, sorry Could you please explain steps to reproduce? Does this error happen in insert/select? Or do you see it while running migrations?
Cory
CoryOP3y ago
It happens on drizzle-push. If I have defaultNow() on one of the columns, it starts to complain when I am trying to add indexes or push another update Not sure if this is somethikng on Planetscales side? Intersseing someone having similar issue here without Drizzle
Cory
CoryOP3y ago
Stack Overflow
Planetscale: Creating unique index fails when a date column has a d...
I created this table in Planetscale CREATE TABLE community ( id serial PRIMARY KEY, name varchar(256), email varchar(256) NOT NULL, created_at timestamp(2) NOT NULL DEFAUL...
Cory
CoryOP3y ago
This seems to solve it
Cory
CoryOP3y ago
GitHub
Alter table not work due to the created_at timestamp column · pla...
Here is a my pages table: CREATE TABLE pages ( id bigint unsigned NOT NULL AUTO_INCREMENT, owner_id int, space_id int, type varchar(256) NOT NULL, name varchar(256) NOT NULL, slug var...
Cory
CoryOP3y ago
So it seems like it was some sort of PlanetScale issue
Andrii Sherman
Yeah, so the case is that PlanetScale have some issues with using default (now()) I would suggest using
default(sql`CURRENT_TIMESTAMP`)
default(sql`CURRENT_TIMESTAMP`)
For “default now” with PlanetScale Try to regenerate table with this default and then it should work properly We will add .defaultCurrentTimestamp() for PlanetScale cases

Did you find this page helpful?