IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

ajouter la spécification "auto_increment" sur une colonne qui existe déjà ?


Sujet :

Requêtes MySQL

  1. #1
    Membre actif
    Profil pro
    Développeur Back-End
    Inscrit en
    Août 2003
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Août 2003
    Messages : 138
    Points : 265
    Points
    265
    Par défaut ajouter la spécification "auto_increment" sur une colonne qui existe déjà ?
    Bonjour,
    Je souhaite migrer des données à partir d'un SGBD Oracle sur un SGBD MySQL, j'en profite pour changer un peu mon code qui utilisait une sequence pour me donner les clefs primaires des tables et je voudrais passer à une colonne en auto_increment.

    Avec l'interface MySQL Administrator, je coche auto_increment dans la colonne et me propose d'effectuer ceci :

    ALTER TABLE `commande` MODIFY COLUMN `id` DECIMAL(22,0) NOT NULL DEFAULT NULL AUTO_INCREMENT;

    Mais il me met comme erreur :
    MySQL Error Number 1063
    Incorrect column specifier for column 'id'

    Merci pour votre aide,

    Axel

  2. #2
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Saluton,
    Structure et type de la table, s'il te plaît, notamment les clefs et index.
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  3. #3
    Membre actif
    Profil pro
    Développeur Back-End
    Inscrit en
    Août 2003
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Août 2003
    Messages : 138
    Points : 265
    Points
    265
    Par défaut
    Saluton Maljuna Kris,
    Fakte, mi prifajfas pri la strukturo, se iu strukturo estas pli facile transmovebla, mi bonvole uzos ĝin. Mi uzis na MySQL Migration Toolkit kiu aŭtomatike kreis la tablojn, ĝi proponis innodb tablojn, sed mi povas ŝanĝi la skripton kaj relanĉi ĝin mane.

    Antaŭdankon,

    Salut Vieux Kris,
    En fait, je m'en fous un peu de la structure, si une structure est plus facile pour la migration, je veux bien l'utiliser. J'ai utilisé MySQL Migration Toolkit qui a créé automatiquement les tables, il me propose des tables Innodb mais je peux toujours changer le script généré et le relancer à la main.

    Merci beaucoup,

    Axel

  4. #4
    Expert confirmé Avatar de fregolo52
    Homme Profil pro
    Développeur C
    Inscrit en
    Août 2004
    Messages
    2 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Août 2004
    Messages : 2 364
    Points : 5 378
    Points
    5 378
    Par défaut
    Salut,

    Je pense que ce n'est pas MODIFY COLUMN mais CHANGE.

  5. #5
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    CHANGE ou MODIFY je crois que ce sont des synonymes.
    Je me préoccupais plutôt de savoir s'il y avait déjà d'autres colonnes en AUTO_INCREMENT dans la table et quelle est sa clef primaire.
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  6. #6
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 641
    Points
    4 641
    Par défaut
    salut,

    essaie plutôt comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE `commande` MODIFY COLUMN `id` INTEGER AUTO_INCREMENT;
    il faut que ta colonne soit une clé de ta table

Discussions similaires

  1. Null sur une colonne qui existe pas
    Par punisher999 dans le forum NHibernate
    Réponses: 0
    Dernier message: 27/06/2012, 17h49
  2. Réponses: 6
    Dernier message: 28/07/2011, 14h21
  3. INDEX sur une colonne qui peut être NULL
    Par dorian53 dans le forum Requêtes
    Réponses: 15
    Dernier message: 29/11/2007, 17h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo