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

Langage SQL Discussion :

question sur l'insert


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 16
    Points : 13
    Points
    13
    Par défaut question sur l'insert
    bonjour,

    je voudrais savoir si c'est possible de faire un insert que sur un des champs d'une table.
    Ex:
    tables:
    [code]
    document (docId, titre, auteur, typeId)
    typedoc ([code]typeId, type)[/code]

    si je veux juste insérer le typeId dans document et pas les autres champs est-ce que je peux faire:
    [code]
    insert int `document` (`typeId`) values ("1")
    where docId="3"[/code]

    C'est possible ça?

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 115
    Points : 28 480
    Points
    28 480
    Par défaut Re: question sur l'insert
    Citation Envoyé par a-chan
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    insert int `document` (`typeId`) values ("1")
    where docId="3"
    C'est possible ça?
    Nan, c'est pas possible.
    D'aileurs je ne comprends pas bien ce que tu veux faire là...

    Peut-être:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    update document
    set typeId="1"
    where docId="3"
    ou alors
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    insert into `document` ('docId`, `typeId`) values ("3", "1")

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 16
    Points : 13
    Points
    13
    Par défaut
    ben les autres champs je les ai déjà rempli auparavant. (docId est auto_increment). Et pour le type de doc, je fais un test pour déterminer lequel c'est (donc si c'est monographie alors je dois insérérer la valeur 1 dans la table document), je met donc son id dans le doc qu'il est en train de traiter.

    C'est plus clair ou pas du tout?

    Je peux faire un update sur un champ vide au départ, plutot qu'in insert avec values("","","","","1")?

  4. #4
    Membre habitué Avatar de nantais
    Inscrit en
    Juillet 2004
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 158
    Points : 192
    Points
    192
    Par défaut
    Salut,

    si ta ligne existe déjà mais que tu ne veux que renseigner des champs restés jusque là à NULL alors comme il t'a été signalé précédemment ce n'est pas un INSERT que tu dois faire mais bien un UPDATE

  5. #5
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    Si ton enregistrement est déjà créé dans ta base, tu n'as pas d'autre alternative que de faire un update.

  6. #6
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 115
    Points : 28 480
    Points
    28 480
    Par défaut
    Pour créer un nouvel enregistrement, c'est bien un Insert qu'il faut utiliser, en y renseignant toutes les données que tu connais.
    Si tu ne connais que typeId, alors la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    insert into document (typeId) values ("1")
    créera bien ton enregistrement,
    à toi de récupérer ensuite le docId, si c'est un auto-incrément, pour pouvoir faire les Update sur les autres champs un peu plus tard.
    Ou alors, attendre de connaître les valeurs de tous les champs avant de faire l'Insert...

  7. #7
    Membre à l'essai
    Inscrit en
    Juin 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 16
    Points : 13
    Points
    13
    Par défaut
    ok merci à tous vous avez répondu à ma question!!!

    merciiii

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] question sur INSERT INTO
    Par drick35 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 11/07/2013, 18h16
  2. [SQLite3 & C++] Question sur le INSERT
    Par Slici dans le forum SQLite
    Réponses: 2
    Dernier message: 19/04/2011, 11h53
  3. Question sur les tables inserted et deleted
    Par critok dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 27/06/2006, 23h03
  4. [HTML] Deux questions sur l'insertion d'icônes (favoris)
    Par LE NEINDRE dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 22/02/2006, 15h47
  5. Réponses: 10
    Dernier message: 24/02/2005, 15h57

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