Alter Table Primary key - Crate DB

前端 未结 2 1736
慢半拍i
慢半拍i 2021-01-27 10:40

I want to alter a table in my Crate DB to change the primary key constraint to add a column to the existing one. If I need to drop the constraint and create a n

相关标签:
2条回答
  • 2021-01-27 11:23

    there's no way to alter the primary key once a table has been created. You need to create a new table that has the schema you'd like to have and then either move the data over with COPY TO and COPY FROM or with insert into to_table (i) (select ... from t). With CrateDB > 2.0 it's also possible to rename tables, so you can still use the original table name.

    0 讨论(0)
  • 2021-01-27 11:43

    First use the following code snippets for finding the constraints

    SELECT Col.Column_Name from 
        INFORMATION_SCHEMA.TABLE_CONSTRAINTS Tab, 
        INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE Col WHERE 
           Col.Constraint_Name = Tab.Constraint_Name
           AND Col.Table_Name = Tab.Table_Name
           AND Constraint_Type = 'PRIMARY KEY'
           AND Col.Table_Name = '<your table name>'
    

    Then use this to drop the constraint

    ALTER TABLE Customer DROP CONSTRAINT Constraint_Name;
    

    P.S: considering you are using SQL SERVER

    0 讨论(0)
提交回复
热议问题