Problème auto incrémentation mysql

Résolu
Bonjour tout le monde,

J'ai actuellement une table temporaire sur mysql qui se présente comme suit:

CREATE TABLE TEMP_REQUESTER
(
id_req int,
Requester varchar(100),
PRIMARY KEY (id_req,Requester)
);

Dans cette table j'ai l'identifiant d'une requête(id_req) associé au nom du requester (Requester). Cependant je cherche à extraire de cette table dans une nouvelle table le nom de chaque requester différent (donc à l'aide d'un distinct) et lui affecter un numéro d'identifiant auto incrementé. J'ai essayé en faisant:

CREATE TABLE REQUESTER
SELECT id_Requester auto_increment, distinct(Requester) FROM TEMP_REQUESTER;

mais cela ne marche pas car id_requester n'existe pas dans temp_requester donc le select bloque. JE me demande donc s'il existerait une astuce pour ce problème.

Merci d'avance pour vos réponses.
Configuration: Windows 2000
Internet Explorer 6.0
mysql 4.1.9

2 réponses

  1. j'ai trouvé une autre solution possible:

    je crée la table de la manière suivante:

    CREATE TABLE REQUESTER
    SELECT distinct(Requester) FROM TEMP_REQUESTER;

    et ensuite j'ajoute par modification de la table une nouvelle colonne qui créé l'auto incrementation:

    ALTER TABLE REQUESTER ADD id_requester INT UNSIGNED NOT NULL AUTO_INCREMENT,
    ADD INDEX (id_requester);

    je pense que ta solution marche aussi car c'est à peut près le même principe.
    Merci bcp pour ta réponse
    1. Contributeur
      Salut

      Pour moi, il faut faire ca en deux requètes : une première qui crée la table requester avec 2 champs, id_requester en auto increment, et requester.

      ensuite tu fais une requète insert qui insère le résultat d'une requète en select

      insert into requester (select distinct(Requester) FROM TEMP_REQUESTER;

      Tiens moi au courant :-)

      Tchuss

      La vie est une maladie mortelle, sexuellement transmissible (Woody Allen)