AIDE SQL

Bjour à tous!
svp je j'ai une table Matable qui a une clé composées ID,NO,INDICE
Je souhaite que NO et INDICE ne fasse plus partie de la clé (Donc seule ID est clé primaire) !
SVP quelle instruction SQL me permet de le faire?

Merci

10 réponses

  1. ALTER TABLE Matable DROP PRIMARY KEY, ADD PRIMARY KEY(ID);


    Et voilà :)
    -1
    1. Bjour Amnesiak!
      merci de me repondre !
      ALTER TABLE Matable DROP PRIMARY KEY, ADD PRIMARY KEY(ID); ne marche pas erreur de syntaxe!
      0
      1. Euhhh... ?

        Je reste assez perplexe et te suggère de réessayer car cette requête est pourtant correcte et a été testée avec succès dans PhpMyAdmin (2.5.3)

        Tu peux peut-être toujours essayer de la décomposer en 2 requêtes séparées, comme suit :

        ALTER TABLE Matable DROP PRIMARY KEY;
        ALTER TABLE Matable ADD PRIMARY KEY(ID); 
        -1
        1. reBjour Amnesiak!
          meme
          ALTER TABLE Matable DROP PRIMARY KEY; ne marche pas erreur de syntaxe!
          0
          1. Bonjour Ruth,
            Amnesiak a raison, la commande qui vous a donné est juste :
            ALTER TABLE Matable DROP PRIMARY KEY;
            a part si un ou plusieur enregistrement de la table sont reservés par un autre utilisateur ; ça sera bien si vous nous donné le message d'erreur

            Merci  à TOUS CEUX QUI VEILLENT SUR CE SITE.
            -1
            1. ruth : Les seules causes d'erreur possibles que j'imagine sont :

              . la table en question ne s'appelle pas 'Matable'
              . la table en question ne contient pas de clé primaire

              A vérifier
              -1
              1. il y a une autre cause je crois, ce sont vos privilèges système
                est ce que l'utilisateur avec lequel vous etes connecté à le droit de faire un DROP du PRIMARYKEY ( INDEX)

                Merci  à TOUS CEUX QUI VEILLENT SUR CE SITE.
                -1
                1. Ah je crois que je l'ai trouvé; voilà : l'utilisateur ne peut pas supprimer une clé primaire ou unique qui fait partie d'une intégrité référentille , donc il faut supp. la clé référencée et la clé étrangère en spécifiantl'option CASCADE:

                  ALTER TABLE Matable DROP PRIMARY KEY CASCADE

                  ça doit marché, sinon , écris la syntaxe d'erreur qui s'affiche.

                  Merci  à TOUS CEUX QUI VEILLENT SUR CE SITE.
                  -1
                  1. Bjour à tous et merci de me repondre !
                    J'ai testé toutes les proposition mais ça ne marche toujours pas!!
                    message d'erreur:
                    [Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe dans l'instruction ALTER TABLE.
                    merci
                    0
                    1. Avec Access c'est pas la meme chose

                      http://www.blueclaw-db.com/alter_table_ddl.htm
                      0