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

Développement SQL Server Discussion :

Probléme d'insertion SET IDENTITY_INSERT (champ auto incrémenté)


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 15
    Par défaut Probléme d'insertion SET IDENTITY_INSERT (champ auto incrémenté)
    Bonjour,
    j'ai un problème avec ma base de données, je veux faire une insertion dans un champ qui est en auto incrémentation. Donc bien sure j'ai regardé plusieurs forum avec plusieurs possibilités mais je n'arrive pas a en faire fonctionner une seul. Si quelqu'un peut m'aider sa serait gentil .
    la requête que je voudrais exécuter(le champ en Auto Incrémentation est IDPoste):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    INSERT INTO dbo.Poste (ID_Poste, n_Poste, OS_Poste, nature_Poste, ID_clef_HOPS, type_Poste, marque_Poste, modele_Poste, Code_Regate, ligne_principale_Poste) VALUES ('10016', ' n', ' os', 'nature', ' hops', ' type', ' marque', ' modele', ' 69', ' ligne').
    les solutions déjà essayer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SET IDENTITY_INSERT [ nom_de_bdd . [  ] . ] table { ON }
    SET IDENTITY_INSERT [your table name goes here] ON
    SET IDENTITY_INSERT product ON

    PS: J'utilise SQL Server Management Studio 2008 pour héberger ma base de données

    Merci de prendre le temps de lire mon problème.

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    D'après ta requête, tu essaies d'insérer la valeur '10016' dans la première colonne listée avant, c'est à dire "ID_Poste" qui est justement ta colonne autoincrémentée. Et comme elle est autoincrémentée, c'est un entier donc inutile de mettre une valeur numérique entre apostrophes !

    Puisque la colonne "ID_Poste" est autoincrémentée, ne l'inclus pas dans la liste des colonnes à alimenter par le INSERT :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO dbo.Poste (n_Poste, OS_Poste, nature_Poste, ID_clef_HOPS, type_Poste, marque_Poste, modele_Poste, Code_Regate, ligne_principale_Poste) 
    VALUES (' n', ' os', 'nature', ' hops', ' type', ' marque', ' modele', ' 69', ' ligne')
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 15
    Par défaut
    Citation Envoyé par CinePhil Voir le message
    D'après ta requête, tu essaies d'insérer la valeur '10016' dans la première colonne listée avant, c'est à dire "ID_Poste" qui est justement ta colonne autoincrémentée. Et comme elle est autoincrémentée, c'est un entier donc inutile de mettre une valeur numérique entre apostrophes !

    Puisque la colonne "ID_Poste" est autoincrémentée, ne l'inclus pas dans la liste des colonnes à alimenter par le INSERT :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO dbo.Poste (n_Poste, OS_Poste, nature_Poste, ID_clef_HOPS, type_Poste, marque_Poste, modele_Poste, Code_Regate, ligne_principale_Poste) 
    VALUES (' n', ' os', 'nature', ' hops', ' type', ' marque', ' modele', ' 69', ' ligne')
    Justement je doit insérer un ID_Poste. Donc si j'en ajoute pas malheureusement sa résout pas mon problème. Dans ce cas la je veux insérer un numéros de mon choix, il est bien clair que dans les autres cas ce champ n'est pas a compléter.

  4. #4
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Ben supprime l'auto-incrémentation de la table alors ! Tu ne peux pas avoir les deux en même temps il me semble.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 15
    Par défaut
    Si on peut avec les requêtes SQL que j'ai posté au début mais je n'arrive pas a me servir de ces requêtes. Et s'il y a un champs auto incrémenté c'est pour répondre a un besoin. J'ai juste une exception et elle nécessite de passer outre l'auto incrémentation.

  6. #6
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Par défaut
    Bonjour,

    et la doc ? http://msdn.microsoft.com/en-us/libr...v=sql.80).aspx

    C'est marqué comment faire

    edit: dans ce cas il faudrait peut etre déplacer ce topic dans la section Sql Serveur vu que le problème n'est pas Sql

Discussions similaires

  1. Interface : Insertion avec un champs auto incrémenté
    Par amnay dans le forum ODI (ex-Sunopsis)
    Réponses: 7
    Dernier message: 17/04/2012, 01h27
  2. Réponses: 4
    Dernier message: 22/04/2011, 17h50
  3. Réponses: 2
    Dernier message: 11/02/2008, 21h47
  4. Réponses: 1
    Dernier message: 23/07/2007, 20h57
  5. Problème de mise à jour des champs Auto incrémentés avec VB6.
    Par NHenry dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 28/05/2007, 16h06

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