cancel
Showing results forย 
Search instead forย 
Did you mean:ย 
Data Engineering
Join discussions on data engineering best practices, architectures, and optimization strategies within the Databricks Community. Exchange insights and solutions with fellow data engineers.
cancel
Showing results forย 
Search instead forย 
Did you mean:ย 

Add Identity Column to Existing Table

jasperputs
New Contributor III

Hello everyone. I am working with tables that need an identity column. I currently have a view in which I cast the different columns to the data type that I want. Now I want the result of this view to be inserted or merged into a table. The schema of the view can be reused, but an identity column (Start at 1, increment by 1) should be added.

However, the only option that I see, is that I define the schema of the target table somewhere (and thus write it down). I don't want this, as I would need to manage the schema in two locations (in the view where I do the casts, and the schema of the target table, although the latter script should only be executed once).

Is there a possibility to take the schema of the view, add the identity column and use this as the schema for a new table?

I already tried to create a table from the view (which worked), but if I then altered the table and added the identity column, I got an error. It seems that the identity column can only be added during the creation of a table.

I got the following error:

image

1 ACCEPTED SOLUTION

Accepted Solutions

Hello @Kaniz Fatmaโ€‹, the answer from @Werner Stinckensโ€‹ helped. I just created a script that is used to create the table. In the script I specify the identity column and this works.

View solution in original post

4 REPLIES 4

-werners-
Esteemed Contributor III

At the moment that is not supported.

The alter table command only allows for sync identity.

Hello @Kaniz Fatmaโ€‹, the answer from @Werner Stinckensโ€‹ helped. I just created a script that is used to create the table. In the script I specify the identity column and this works.

ramankr48
Contributor II

Hello @Jasper Putsโ€‹ how did you solve this issue of creating a identity column to existing table.

I'm also getting the same error as you got.

the recent syntax is :

ALTER TABLE retaildb.sales_order ADD COLUMN sales_key3 BIGINT GENERATED ALWAYS AS IDENTITY(1,1);

Connect with Databricks Users in Your Area

Join a Regional User Group to connect with local Databricks users. Events will be happening in your city, and you wonโ€™t want to miss the chance to attend and share knowledge.

If there isnโ€™t a group near you, start one and help create a community that brings people together.

Request a New Group