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

Bases de données Delphi Discussion :

Insert avec champ autoinc


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2008
    Messages
    668
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 668
    Par défaut Insert avec champ autoinc
    Bonsoir,

    J'ai deux bases de données (BD1 et BD2) qui possèdent les mêmes champs avec un champ "autoinc".

    Le champ "autoinc" est nommé "n_auto".

    - BD1 et BD2 contiennent déjà des données ("n_auto" contient déjà des valeurs).

    Je veux faire un insert de la Table1 (de la BD2) vers la Table1 (de la BD1) pour ajouter les données.

    Beaucoup de records ont la même valeur du champ "n_auto" :
    Exemple: - "n_auto" de Table1(DB1) a la même valeur de la "n_auto" de Table1 (DB2).

    j'ai testé mais j'obtiens un message qui dit que la valeur de "n_auto" est dupliquée , c'est logique...

    J'ai pensé à faire un Update de "n_auto" avant mais comme la table peut contenir des millions d'enregistrements, ça risque de prendre pas mal de temps dans l'exécution.

    Quel est le meilleur moyen de contourner ce problème svp?

    Merci d'avance pour votre aide.

    Database : Absolute database.

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 086
    Par défaut
    Si tu n'as pas besoin de récupérer les ID de la table DB2 dans DB1, dans ta boucle, il te suffit de ne pas assigner le champ AutoInc
    Après le Post ou le INSERT, récupère le nouvel ID et stocke dans une table le lien entre l'ancien ID DB2 et le nouveau ID créé dans DB1
    Cela te permettra de gérer les jointures des autres tables à migrer d'une base à l'autre
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

Discussions similaires

  1. Creation requete insertion avec champ texte
    Par 105rn2 dans le forum VBA Access
    Réponses: 4
    Dernier message: 28/12/2011, 17h37
  2. SQL insertion avec champ autoIncrement
    Par sg-40 dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 09/11/2005, 11h28
  3. INSERT avec procédure stockée / Clef de type AutoInc
    Par bgdelphi dans le forum Bases de données
    Réponses: 5
    Dernier message: 18/10/2003, 18h30

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