[ http://issues.apache.org/jira/browse/DERBY-1645?page=all ]
Bryan Pendleton updated DERBY-1645: ----------------------------------- Fix Version/s: 10.2.1.8 Thanks Alan for catching this. Yes, this fix is now in the 10.2 branch as well. Updated Fix Version to reflect this. > ALTER TABLE ... SET INCREMENT BY X... Turns off the "Generated By Default" > identity column constraint > ----------------------------------------------------------------------------------------------------- > > Key: DERBY-1645 > URL: http://issues.apache.org/jira/browse/DERBY-1645 > Project: Derby > Issue Type: Bug > Components: SQL > Affects Versions: 10.1.3.1 > Environment: Both Ubuntu Linux, Windows XP... Java 1.4.2_x and Java > 1.5 > Reporter: Alan Baldwin > Assigned To: Bryan Pendleton > Fix For: 10.3.0.0, 10.2.1.8 > > > I have a table which has an auto-generated key: > create table MyTable ( > TableId INTEGER GENERATED BY DEFAULT AS IDENTITY NOT NULL, > StringValue VARCHAR(20) not null, > constraint PK_MyTable primary key (TableId) > ) > I verify that GENERATED BY DEFAULT is set: > SELECT * FROM > sys.syscolumns col > INNER JOIN sys.systables tab ON col.referenceId = tab.tableid > WHERE tab.tableName = 'MYTABLE' AND ColumnName = 'TABLEID' > I'm pulling in data for which I need to preserve the ID's: > INSERT INTO MYTABLE (TableId, StringValue) VALUES (1, 'test1') > INSERT INTO MYTABLE (TableId, StringValue) VALUES (2, 'test2') > INSERT INTO MYTABLE (TableId, StringValue) VALUES (3, 'test3') > In the absense of the Derby 10.2 feature (ALTER TABLE WITH RESTART X), I try > to just change the INCREMENT BY value and insert a row so that I can reset > the "next" key value: > ALTER TABLE MyTable ALTER TableId SET INCREMENT BY 50 > Then I insert a "dummy" record (which I will delete later...) to move the key > upwards: > INSERT INTO MYTABLE (StringValue) VALUES ('test53') > However, I can now no longer insert explicit values into the primary key like > this: > INSERT INTO MYTABLE (TableId, StringValue) VALUES (-999, 'test3') > I get this error: SQL Exception: Attempt to modify an identity column > 'TABLEID'. > Upon checking the sys.syscolumns table again, it verifies that the table no > longer has an auto-generated key, but the TableId is still an identity column. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira