Partage
  • Partager sur Facebook
  • Partager sur Twitter

Altération d'une table

Ajout/Suppréssion

Sujet résolu
    16 février 2017 à 13:26:38

    Bonjour,

    J'ai un soucis, j'ai réussi à altérer la structure d'une table dans ma basse de donnés en fonction du nombre d'années comprise entre une période ( en paramètres dans ma fonction) , à savoir que j'arrive à créer plusieurs colonnes, modifier leurs contenues si elles existent déjà et supprimer les colonnes crées auparavant si elle ne sont pas comprise dans la période. 

      Le problème : Si dans ma deuxième entrée  les paramètres de la fonction ( donc les dates de débuts et de fin correspondant à une période ) ne sont pas les mêmes avec des années différentes. Cela va j’imagine supprimer les colonnes si la période est plus récente ( et donc je perds les donnés de la première entrée ) ou mettre dans mes colonnes des valeurs nulles ( ce n'est pas un soucis pour moi ).

    Je dois complètement changer de direction (donc enlever le coté altération de ma table et le faire en dur) et repenser à la structure de ma BDD? Où il y aurait une façon d’empêcher la destruction de mes valeurs?

    -
    Edité par DimitriNeker1 16 février 2017 à 13:27:49

    • Partager sur Facebook
    • Partager sur Twitter
      16 février 2017 à 13:35:55

      Bonjour,

      DimitriNeker1 a écrit:

      j'arrive à créer plusieurs colonnes, modifier leurs contenues si elles existent déjà et supprimer les colonnes crées auparavant si elle ne sont pas comprise dans la période. 

      Oula ... ça sent fort l'erreur de modélisation ... je n'avais pas osé l'évoqué dans ton dernier post ...

      DimitriNeker1 a écrit:

      Je dois complètement changer de direction (donc enlever le coté altération de ma table et le faire en dur) et repenser à la structure de ma BDD?

      Oui, c'est fortement conseillé !

      Peux-tu nous en dire plus sur ton projet ?

      • Partager sur Facebook
      • Partager sur Twitter
      Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
        16 février 2017 à 13:37:00

        Bonjour,

        Il te faut repenser la conception de ta BDD, il n'est pas normal que tu ajoutes/supprimes des champs de tes tables !

        EDIT : grillé par Benzouye

        -
        Edité par jumpy972 16 février 2017 à 13:38:06

        • Partager sur Facebook
        • Partager sur Twitter
        JumpY - Profil LinkedIn
          16 février 2017 à 15:37:44

          Tout d'abord merci de votre temps que vous m'accordez.

          Mon projet est basé sur le WBS (Work breakdown structure ) de mon service, je compte développer un outils informatique qui réparti les charges ( ressources humaines ) du service selon ses activités et leurs périodes ( un chiffrage ) en années. Nous travaillons par projet de 3-4 ans et ces projets ont donc des étapes précises ( le WBS ) avec plusieurs activités dans un ordre précis.

          Sur l’outil que je développe, j'aimerais que l'utilisateur puisse rentrer par activité une date de commencement et une date de fin ( et d'autres paramètres mais ce n'est pas très important) et que l’outil permette d'afficher un chiffrage en fonction de cette période et des charges attribués dans une activités. 

            Pour l'instant j'arrive à récupérer le chiffrage et le répartir parmi les années qui correspondent à la période de l'année de commencement et fin de l'activité ( dans un tableau associatif ). Le soucis est que je ne peux pas prévoir quelles seront les années de commencement et de fin sélectionnées à l'avance de l'utilisateur. Et comme vous avez pu le constater je me retrouve à devoir altérer la structure de ma table qui doit récupère le chiffrage sur X années.

          Il y a plusieurs utilisateurs donc plusieurs entrées dans mes tables ( où l'id numéro correspond au premier utilisateur et ainsi de suite) donc la méthode que j'ai appliqué avant ne marchera pas.

          J'ai pensé a tout simplement prévoir les champs ( genre m’arrêter à 2050 par exemple pour être tranquille pour le moment ) mais cette solution n'est pas flexible.

          Pour illustrer la finalité que je souhaite avoir après que l'utilisateur ai remplie les différents paramètres pour chaque activités:

          Sachant que les périodes par activités ne sont pas forcement les mêmes.

          -
          Edité par DimitriNeker1 16 février 2017 à 15:39:33

          • Partager sur Facebook
          • Partager sur Twitter
            16 février 2017 à 15:48:52

            Bonjour,

            Ce que tu représentes est un tableau à double entrée : activités et année.

            Dans une base de données relationnelle, cela n'existe pas, car le nombre de colonne est potentiellement variable (et vrai dans ton cas).

            Il te faut modéliser avec méthode ... entités/relations ... cf. doc "Conception BDD" de ma signature ;)

            Ici tu as des activités et des années (et des valeurs), et une relation de plusieurs à plusieurs entre les deux : Une année peut avoir une valeur pour plusieurs activités, et une activité peut avoir une valeur pour plusieurs années.

            Ton modèle de données serait donc :

            • activite ( id_activite, libelle )
            • valeur ( id_activite [pk][fk], annee [pk], valeur )

            Pour afficher ton tableau, ce sera côté applicatif de le gérer avec une boucle par ligne et par colonne.

            • Partager sur Facebook
            • Partager sur Twitter
            Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
              16 février 2017 à 16:01:35

              Il faut redéfinir les concepts que tu exploites :

              • Une activité : c'est un label, une date de début et une date de fin, quatre champs dans une table en comptant la clé primaire.
              • Une charge : c'est une "quantité" pour une activité donnée à une date précise, quatre champs : clé primaire, quantité, clé étrangère traçant l'activité de cette charge, l'année à laquelle est imputée cette charge.

              L'année devient alors une simple information; ce n'est plus qu'une donnée et non une composante structurelle de ta conception BDD.

              • Partager sur Facebook
              • Partager sur Twitter
              JumpY - Profil LinkedIn
                16 février 2017 à 16:18:54

                D'accord je suis malheureusement fixé maintenant.

                Voila comment j'avais organisé ma BDD :

                • charge_activite_x ( charges de l'activités )
                • synthese_activite_x ( id, date de debut, date de fin, chiffrage calculé dans le champs comportant le nom correspondant à l'année du chiffrage)

                Le but était d'associer le champs du chiffrage calculé à la case du tableau avec la bonne année. En réalité j'ai conçu ma BDD avec la vision d'un fichier excel ( à savoir associer des "cases" de données ). je pense que définir directement de façon rigide les "cases" des années me  permettrait à court terme de finir l'outils.

                Je vais quand même me renseigner sur le doc de conception BDD histoire d'essayer d’être le plus flexible pour permettre des mise à jours de l'outil.

                Merci beaucoup

                Que veux dire [pk] et [fk]?

                • Partager sur Facebook
                • Partager sur Twitter
                  16 février 2017 à 16:33:47

                  pk = primary key, clé primaire

                  fk = foreign key, clé étrangère

                  DimitriNeker1 a écrit:

                  En réalité j'ai conçu ma BDD avec la vision d'un fichier excel ( à savoir associer des "cases" de données )

                  C'est que le fichier Excel était lui-même mal conçu au départ ...

                  Tu aurais du avoir dans ton fichier Excel une ligne par couple activité / année.

                  La mise en forme que tu montrait plus haut est le résultat d'un tableau croisé dynamique, pas d'une feuille simple ...

                  Lorsque tu gères des données, toujours distinguer le stockage de la représentation. Tu stockes les données en fonction de leur sens unique (ligne par ligne) et tu les affiches avec une mise en forme adaptée à ce que tu veux représenter ...

                  -
                  Edité par Benzouye 16 février 2017 à 16:35:34

                  • Partager sur Facebook
                  • Partager sur Twitter
                  Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                    16 février 2017 à 16:50:22

                    Intéressant je vais aborder le sujet de ce point de vue, je vais séparer activité et charge.  Merci jump972.

                    Benzouye a écrit:

                    C'est que le fichier Excel était lui-même mal conçu au départ ...

                    Tu aurais du avoir dans ton fichier Excel une ligne par couple activité / année.

                    La mise en forme que tu montrait plus haut est le résultat d'un tableau croisé dynamique, pas d'une feuille simple ...

                    Lorsque tu gères des données, toujours distinguer le stockage de la représentation. Tu stockes les données en fonction de leur sens unique (ligne par ligne) et tu les affiches avec une mise en forme adaptée à ce que tu veux représenter ...

                    -
                    Edité par Benzouye il y a moins de 5s

                     Exacte en fait mon fichier excel se base sur un tableau qui n'est pas dynamique.


                    Edit : qu'est ce qu'un label dans ce contexte de BDD, ce n'est pas le même terme employé vis à vis des formulaires? 


                    -
                    Edité par DimitriNeker1 16 février 2017 à 16:54:09

                    • Partager sur Facebook
                    • Partager sur Twitter
                      16 février 2017 à 16:55:58

                      DimitriNeker1 a écrit:

                      qu'est ce qu'un label dans ce contexte de BDD

                      Dans la remarque de jumpy, label = titre ou libellé ou designation, ce serait un des attributs définissant une activité donc un nom de colonne de la table activités au final.
                      • Partager sur Facebook
                      • Partager sur Twitter
                      Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                        16 février 2017 à 17:29:26

                        Ligne par ligne

                        Je vois maintenant la direction à prendre.

                        Mais comme je vous l'ai dit l'outil doit pouvoir gérer plusieurs projets ( et donc avoir un tableau de synthèse différent pour chaque projet) et j'ai donc crée une table par activités avec l'id qui me permettait de savoir au tableau d'afficher les calculs du premier utilisateur ou du xème utilisateur.

                        si je regroupe les activités dans une table commune et que donc j'associe cette table avec une table ou sera contenu mes valeurs d'activité.

                        Comment indiquer à la BDD que la valeur de cette activité appartient au x ieme projet? J'avais pensé à utiliser l'id ( l'id 1+ x correspond à la première activité du second projet ).

                        • Partager sur Facebook
                        • Partager sur Twitter
                          16 février 2017 à 17:33:39

                          DimitriNeker1 a écrit:

                          Comment indiquer à la BDD que la valeur de cette activité appartient au x ieme projet? J'avais pensé à utiliser l'id ( l'id 1+ x correspond à la première activité du second projet ).

                           Il te faut définir une table pour stocker tes projets et y utiliser une clé étrangère permettant de mettre en place le lien entre une entrée de la table projet et une entrée de la table activité.

                          Cours : Clés primaires et étrangères

                          -
                          Edité par jumpy972 16 février 2017 à 17:35:58

                          • Partager sur Facebook
                          • Partager sur Twitter
                          JumpY - Profil LinkedIn
                            16 février 2017 à 18:31:30

                            DimitriNeker1 a écrit:

                            l'outil doit pouvoir gérer plusieurs projets [...] j'ai donc crée une table par activités avec l'id qui me permettait de savoir au tableau d'afficher les calculs du premier utilisateur ou du xème utilisateur.

                            Arrêtes tout avant de te perdre ! :D

                            DimitriNeker1 a écrit:

                            Je vais quand même me renseigner sur le doc de conception BDD histoire d'essayer d’être le plus flexible pour permettre des mise à jours de l'outil.

                            Sérieusement, lit le tout de suite avant de continuer ton projet ... Fais un modèle conceptuel, en utilisant par exemple l'excellent jMerise, et génère ton schéma de base de données avec ...

                            • Partager sur Facebook
                            • Partager sur Twitter
                            Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                              17 février 2017 à 9:29:20

                              D'accord je vais me focaliser dessus ( et mettre en pause le codage :( ) dans un premier temps. Est ce que je pourrais par la suite, si tu le veux bien te montrer le modèle que j'aurais conçu afin de "valider" sa cohérence avec le scénario de l'outil que je veux développer?

                              -
                              Edité par DimitriNeker1 17 février 2017 à 9:29:52

                              • Partager sur Facebook
                              • Partager sur Twitter
                                17 février 2017 à 9:38:19

                                Bien sûr ! Si cela t'es possible, tu peux décrire ici ton projet en terme de fonctionnement et de données, et je t'aiderai à modéliser ;)
                                • Partager sur Facebook
                                • Partager sur Twitter
                                Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                                  17 février 2017 à 12:22:54

                                  Très bien Merci

                                  alors je vais essayer de détailler au maximum le fonctionnement et le traitement des données de mon projet ( bien qu'il y a des informations que je ne pourrais pas divulguer ).

                                  Mon projet consiste en l'amélioration de la fonctionnalité d'un fichier Excel qui permet de générer un chiffrage global pour un projet du service en fonction des paramètres rentrés  ( une date de lancement et de fin ) pour chaque activités. Cela remplie le tableau de synthèse qui n'est pas variable ( limité à l'année 2020 et commençant à 2016 ).

                                  Je suis partie sur l'idée d'utiliser une BDD et du PHP afin de réaliser la même fonctionnalité mais avec l’intérêt d'y apporter de la flexibilité ( d'avoir des résultats sur n'importe quelle période ).

                                  La fonctionnalité est la suivante : il y a pour un projet un nombre d'activités précis ( qui pourrais devenir variable selon les projets ), pour chaque date sélectionnés de ces activités un chiffrage est généré ( ce que j'arrive à faire ). Ma problématique est d'organiser ma BDD pour stocker ces chiffrages par années et de les afficher dans un tableau croisé dynamiquement ( x activités sur x années qui représente la synthèse )représentant la synthèse du projet en charges . 

                                    Le nombre de projet est variable, le nombre d'activité par projets aussi aussi ( mais je peux imposer un nombre fixe ce n'est pas le plus important ) et évidemment le nombre d'année (indirectement le nombre de charge pour une activité aussi) pour une activité est variable.

                                  Voila mon schéma MCD :

                                  J'ai mis les index pour représenter les clés étrangères

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    17 février 2017 à 13:09:00

                                    Je partirais sur le MCD suivant :

                                    Qui donne le MLD suivant :

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                    Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                                      17 février 2017 à 16:27:31

                                      Si je résume ce que j'ai compris 

                                      Le MCD proposé signifie :

                                      • Il y a plusieurs utilisateur.(0,n)
                                      • 1 projet est piloté par 1 utilisateur.(1,1) 
                                      • 1 projet contient plusieurs étapes.(0,n)
                                      • une étape appartient à un seul projet.(1,1)
                                      • Il y a plusieurs activité.(0,n)
                                      • Une étape correspond à une seul activité.(1,1)
                                      • plusieurs charges concernés pour une étape.(0,n)
                                      • Une charge est réparti sur une seul étape.(1,1) 

                                      si c'est bien cela il faudrait aussi que je définisse le libelle de l'activité comme étant unique.

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        17 février 2017 à 17:03:37

                                        Oui, c'est bien cela.

                                        La table activité contiendrait la liste de toutes les activités possibles ...

                                        Si cette donnée est trop variable selon le projet, alors ce peut être un simple libellé dans la table étape ... Mais je suppose que les mêmes activités peuvent se retrouver dans plusieurs projets, donc il doit y avoir une cohérence de libellé ... D'où la table activités ...

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                        Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                                          20 février 2017 à 9:42:39

                                          A propos des clés (primaires et étrangères ), l'utilisation du type TINYINT ne pose pas de soucis ? ( je n'ai pas besoin d'avoir autant de place stockée dans la BDD )
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            20 février 2017 à 10:29:23

                                            Le choix du type de données ne dépend que de ce que tu vas avoir besoin de stocker.

                                            Dans MySQL, un TINYINT peut stocker de -128 à 127. Un TINYINT UNSIGNED de 0 à 255.

                                            Si tu es sûr de ne jamais dépasser ces valeurs, tu peux utiliser ce type.

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                            Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                                              20 février 2017 à 12:22:57

                                              Ok parfait.

                                              Je commence donc par l'ouverture du projet à savoir rentrer ses caractéristiques via une fonction  ( nom du projet, date de création , nom de l'utilisateur et son statut). je ne pense pas qu'il faudrait utiliser une requête préparée dédié à la cette fonction ( car il y aurait peu de répétition, pas plus de 20 projet ). Une requête simple suffit-elle? 

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                20 février 2017 à 13:14:09

                                                Je ne comprends pas ta question ?

                                                Qu'appelles-tu requête préparée / requête simple ?

                                                Si tu as les données pour tes 20 projets et pour les utilisateurs concernés (sur fichier tableur, calc ou Excel par exemple), alors tu peux envisager de faire un import CSV dans ta base.

                                                Sinon tu peux passer par une interface graphique pour saisir manuellement tes données (PHPMyAdmin ou Adminer par exemple).

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                                                  20 février 2017 à 13:27:41

                                                  Je compte créer une interface graphique où l'utilisateur pourra manuellement rentrer son nom, le nom du projet lors de l'ouverture d'un projet . Ces données seront ensuite stockées dans la BDD. je suis en train de tester une fonction qui prend en compte ses paramètres et qui les stocke dans la BDD. Je parle tout simplement des requêtes de type "$req->prepare()" car l'application de cette fonction ne se fera que 20 fois  à peu près. Et je sais que l'utilisation de ces requêtes préparés ont un intérêt en cas de répétition. D'où ma question :).

                                                  Autre soucis, dans le cas des clés primaires, il semblerait que lorsque je supprime une ligne dans la table la clé ne "reset" pas, c'est à dire par exemple que je supprime la deuxième entrée et que je compte en créer une nouvelle l'id = 3 au lieu de 2 qui va logiquement après 1.

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    20 février 2017 à 15:03:26

                                                    DimitriNeker1 a écrit:

                                                    l'utilisation de ces requêtes préparés ont un intérêt en cas de répétition

                                                    Oui, mais il y a un autre avantage, elles facilitent aussi la sécurisation des insertions en base de variables venant de l'extérieur ($_POST ou $_GET par exemple).

                                                    Si tu ne veux pas utiliser les requêtes préparées, il te faut sécuriser les variables par toi-même avant de les insérer dans une requête.

                                                    DimitriNeker1 a écrit:

                                                    il semblerait que lorsque je supprime une ligne dans la table la clé ne "reset" pas, c'est à dire par exemple que je supprime la deuxième entrée et que je compte en créer une nouvelle l'id = 3 au lieu de 2 qui va logiquement après 1.

                                                    Oui c'est normal ... L'id auto incrémenté n'est pas là pour avoir du sens visuel ou logique pour l'humain. Il ne sert qu'à assurer l'unicité de chaque enregistrement et l'intégrité des relations (clés étrangères notamment).

                                                    Pourquoi ne veux-tu pas de trous dans la numérotation ? Quel est le besoin ?

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                    Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                                                      20 février 2017 à 18:23:08

                                                      DimitriNeker1 a écrit:

                                                      Benzouye a écrit:

                                                      Pourquoi ne veux-tu pas de trous dans la numérotation ? Quel est le besoin ?

                                                      Je ne sais pas si il s'agit d'un besoin c'est juste que visuellement qu'il y aura confusion ( à savoir 1 seul projet dont l'id est tout sauf 1 ), après je comprends si la machine compte tout simplement tout les enregistrement ( vu qu'elle ne sait pas si il s'agit de test ou non ) .



                                                      -
                                                      Edité par DimitriNeker1 il y a moins de 5s

                                                      je vais me retrouver dans une impasse prochainement, comme je l'ai dit l'utilisateur rentrera manuellement les dates pour une étape mais il peut aussi décider de modifier les dates. Actuellement je fais tout simplement des enregistrements j'aurais voulu vérifier l’existence d'une entrée et ensuite de la modifier ou la créer mais avec tous ces clés j'ai peur de mélanger pas mal de chose. Alors j'ai pensé simplement à créer deux fonctions ( une qui modifie et une qui la créer ) en attendant.

                                                      -
                                                      Edité par DimitriNeker1 20 février 2017 à 18:25:34

                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        21 février 2017 à 9:25:51

                                                        Je ne vois pas le rapport avec la continuité de l'id ...

                                                        Avec le modèle que je t'ai proposé, une étape peut importe son id ... du moment que tu le connaît ...

                                                        Si l'utilisateur choisi un projet, alors tu peux afficher les étapes existantes pour ce projet par son id :

                                                        SELECT *
                                                        FROM etape
                                                        WHERE id_projet = 'id souhaité'

                                                        Si l'utilisateur choisi une étape, alors tu peux afficher les charges existantes pour cette étape par son id :

                                                        SELECT *
                                                        FROM charge
                                                        WHERE id_etape = 'id souhaité'

                                                        Si tu veux mettre à jour une étape tu peux le faire avec son id :

                                                        UPDATE etape
                                                        SET
                                                            date_debut = '...',
                                                            date_fin = '...'
                                                        WHERE id_etape = 'id souhaité'

                                                        Si tu veux créer une étape tu peux le faire l'id_projet souhaité :

                                                        INSERT INTO etape ( date_debut, date_fin, id_projet, id_activite )
                                                        VALUES ( '2017-01-01', '2020-12-31', 1, 1 )

                                                        -
                                                        Edité par Benzouye 21 février 2017 à 9:28:02

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                        Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                                                          21 février 2017 à 10:27:06

                                                          En fait je souhaite qu'il y ai toujours une bonne correspondance .Enfin je vais réfléchir la dessus histoire de faire en sorte que tout se fasse automatiquement niveau lien ( je veux que l'utilisateur puisse créer un projet, ajouter des étapes et y associer des charges sans pour avoir à chercher manuellement à quelle projet il doit ajouter ses étapes etc.. )

                                                          Une petite question : Si je décide de supprimer un projet est ce que toute les références seront supprimés ( pratique donc pour effacer les charges, et les étapes associé à ce projet en même temps )?

                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            21 février 2017 à 10:42:06

                                                            DimitriNeker1 a écrit:

                                                            Si je décide de supprimer un projet est ce que toute les références seront supprimés

                                                            Cela se gère facilement avec les contraintes clés étrangères (foreign key). Il existe des options de clés étrangères qui détermine comment doit se comporter le moteur de base de données en cas de suppression (ON DELETE) ou de modification (ON UPDATE) d'une clé primaire.

                                                            https://openclassrooms.com/courses/administrez-vos-bases-de-donnees-avec-mysql/options-des-cles-etrangeres

                                                            • Partager sur Facebook
                                                            • Partager sur Twitter
                                                            Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                                                              21 février 2017 à 15:55:14

                                                              Merci nickel!!

                                                              Malgré la création de clés étrangères, les contraintes no sont pas appliqués : 

                                                              J'ai essayé d'attribuer un id lors de l'ajout d'une table( activité ) qui n'existait pas dans la table d'activité mais MSQL ne m'a pas stoppé. Et pourtant la clé étrangère est là.

                                                              Voici la requête :

                                                              ALTER TABLE etape ADD CONSTRAINT FK_etape_id_activite FOREIGN KEY (id_activite) REFERENCES activite(id_activite);



                                                              • Partager sur Facebook
                                                              • Partager sur Twitter

                                                              Altération d'une table

                                                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                              • Editeur
                                                              • Markdown