Bonjour

Dans ma table j'avais un champ id de type integer qui était autoincrémenté.
J'ai supprimé l'auto incrémentation puis la clé primaire pour le changer en bigint.
Par contre lorsque je veux recreer l'auto incrémentation j'ai le message
ISC ERROR CODE:335544351

ISC ERROR MESSAGE:
unsuccessful metadata update
DEFINE GENERATOR failed
attempt to store duplicate value (visible to active transactions) in unique index "RDB$INDEX_11"

while executing:
CREATE GENERATOR AFFECT_DATA_STATUS_GEN
Voici le code de ma table

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
CREATE TABLE AFFECT_DATA_STATUS 
(
  ID                                   BIGINT         NOT NULL,
  DATE_HEURE                        TIMESTAMP,
  NOM_PROJET                             CHAR(    30) CHARACTER SET ISO8859_1  COLLATE FR_FR,
  REF_TURBINE_VALOREM                    CHAR(    30) CHARACTER SET ISO8859_1  COLLATE FR_FR,
  VITESSE_VENT_NACELLE                DECIMAL( 10, 2),
  PUISS_ACTIVE_PRODUITE               DECIMAL( 10, 2),
  TEMP_EXTERIEUR                      DECIMAL( 10, 2),
  CODE_STATUS                            CHAR(    30) CHARACTER SET ISO8859_1  COLLATE FR_FR,
  FAMILLE_ARRET_CNSTRCTR                 CHAR(    30) CHARACTER SET ISO8859_1  COLLATE FR_FR,
  FAMILLE_ARRET_VALOREM                  CHAR(    30) CHARACTER SET ISO8859_1  COLLATE FR_FR,
  NOM_STATUS                             CHAR(    50) CHARACTER SET ISO8859_1  COLLATE FR_FR,
  CODE_STATUS_CORRIGE                    CHAR(    30) CHARACTER SET ISO8859_1  COLLATE FR_FR,
  UTILISATEUR                            CHAR(    20) CHARACTER SET ISO8859_1  COLLATE FR_FR,
 CONSTRAINT PK_AFFECT_DATA_STATUS PRIMARY KEY (ID)
);
CREATE GENERATOR AFFECT_DATA_STATUS_GEN;
SET TERM  ^^ ;
CREATE TRIGGER AFFECT_DATA_STATUS_ID FOR AFFECT_DATA_STATUS ACTIVE BEFORE INSERT POSITION 0 AS
 
begin
  if ( (new.ID is null) or (new.ID = 0) )
  then new.ID = gen_id(AFFECT_DATA_STATUS_GEN, 1);
end
 ^^
SET TERM ;  ^^
 
CREATE ASC INDEX I_AFFECT_DATA_STATUS_PROJET ON AFFECT_DATA_STATUS (NOM_PROJET);
 
CREATE ASC INDEX I_AFFECT_DATA_STATUS_TURBINE ON AFFECT_DATA_STATUS (REF_TURBINE_VALOREM);
j'ai fait ca avec DatabaseWorkbench

Merci pour votre aide

PS: J'oubliais

J'utilise FB 2.1