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. 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)
    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