Alter a table column with auto increment by 1 in derby

后端 未结 7 1528
囚心锁ツ
囚心锁ツ 2021-01-11 18:21

I have created a table in derby Netbeans and now i realize that i need to make a column as auto incremented by 1 which is a primary key. How can i do so? I

相关标签:
7条回答
  • 2021-01-11 18:33

    To alter the column to be auto-generated, the code is

    ALTER TABLE ISSUERECIPT ALTER IRCODE SET INCREMENT BY 1;
    

    BUT the column must already be defined with the IDENTITY attribute (as written in this documentation).

    In most cases (assuming that you too), the primary key column is not set as IDENTITY. Therefore, you may intend to alter the column to IDENTITY, but that is impossible.

    The only way is to drop the table and create it again, as written here.

    0 讨论(0)
  • 2021-01-11 18:35
    ALTER TABLE ISSUERECIPT  ADD IRCODE INTEGER NOT NULL primary key GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1),
    

    I guess could do the things for you

    0 讨论(0)
  • 2021-01-11 18:42

    Try this :

    alter table ISSUERECIPT modify column IRCODE int(4) auto_increment
    
    0 讨论(0)
  • 2021-01-11 18:50

    ALTER TABLE tbl ADD id INT PRIMARY KEY AUTO_INCREMENT;

    0 讨论(0)
  • 2021-01-11 18:50

    Recreate the table again see example below:

    CREATE TABLE students
    (
    id INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1),
    name VARCHAR(24) NOT NULL,
    address VARCHAR(1024),
    CONSTRAINT primary_key PRIMARY KEY (id)
    ) ;
    
    0 讨论(0)
  • 2021-01-11 18:55

    I have found an alternate solution, i dropped the column from the database (thanks vels4j) added the column once again from the netbeans derby UI as shown below:

    enter image description here

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