Alter a table column with auto increment by 1 in d

2020-03-12 03:28发布

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 tried the following code but was in vain.

ALTER TABLE ISSUERECIPT ALTER IRCODE SET INCREMENT BY 1;

Do i need to create the table once again or can it be possible some other way?

7条回答
淡お忘
2楼-- · 2020-03-12 03:44
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

查看更多
够拽才男人
3楼-- · 2020-03-12 03:44

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)
) ;
查看更多
戒情不戒烟
4楼-- · 2020-03-12 03:45

ALTER TABLE tbl ADD id INT PRIMARY KEY AUTO_INCREMENT;

查看更多
一夜七次
5楼-- · 2020-03-12 03:48

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

查看更多
smile是对你的礼貌
6楼-- · 2020-03-12 03:48

Try this :

alter table ISSUERECIPT modify column IRCODE int(4) auto_increment
查看更多
孤傲高冷的网名
7楼-- · 2020-03-12 03:51

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.

查看更多
登录 后发表回答