Insertion de clé étranger dans une table

Résolu
gbammelet Messages postés 45 Date d'inscription mardi 28 janvier 2014 Statut Membre Dernière intervention 15 décembre 2015 - 11 févr. 2014 à 13:13
jordane45 Messages postés 37734 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 octobre 2023 - 11 févr. 2014 à 22:17
Bonjour,
je veux insérer les données dans une table avec une clé étrangère sans saisir la clé étrangère. Mais je ne sais pas comment procéder

4 réponses

BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
11 févr. 2014 à 14:16
Hello,

C'est pas très clair ce que tu racontes là :).

Peux-tu nous donner un exemple du type d'insertion souhaité, avec la structure de la table dans laquelle tu souhaites effectuer l'insertion ?

Quand tu insères des données dans une table tu renseignes tout ou partie des champs de la table, et les données s'insèrent en créant une nouvelle ligne dans la table.

Je pige pas ce que tu veux dire par "clé étrangère"...

A+
1
BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
11 févr. 2014 à 21:44
Si je comprends bien tu veux que quelqu'un te fasse la requête les doigts dans le nez, pour que tu la copies-colles ?

Ensuite, en fonction de tes besoins, si tu as une nouvelle requête à insérer tu postes un nouveau sujet afin qu'à nouveau quelqu'un te rédiges la requête pour que tu la copies-colles encore ?

En gros t'as pas vraiment envie de te faire chier quoi :).

Moi perso j'aurai préféré que tu nous mettes un bout de code qui nous laisserait penser que tu as au moins essayé de résoudre ton problème en te creusant un peu le citron... C'est un forum d'entraide ici : si tu sèches sur une question y'a ici des types qui te file un coup de main avec plaisir, mais uniquement si tu as la démarche de chercher un peu par toi-même.
Visiblement tu n'as pas du tout cherché par toi-même : tu veux du tout cuit :).

Mets un peu les mains dans le cambouis et montre-nous ensuite ton code, ton code à toi, ensuite je parie que tu auras de l'aide ;).

A+
1
jordane45 Messages postés 37734 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 octobre 2023 342
11 févr. 2014 à 22:17
Bonjour,

Même si j'aprouve BBFUNK concernant le manque de travail de ta part et le fait que la question est plutôt confuse.. je pense qu'au final ce que tu souhaites c'est :

- Insérer des données dans ta table <<image_off>>

-Récupérer ("automatiquement" ) l'ID de la ligne insérée pour pouvoir ensuite l'insérer dans ton autre table.

Donc, au final je pense que ce qu'il te faut c'est : mysql_insert_id
mysql_insert_id -- Retourne l'identifiant généré par la dernière requête
=> Te permet d'obtenir : L'ID généré pour une colonne AUTO_INCREMENT par la dernière requête en cas de succès, 0 si la dernière requête n'a pas généré de valeur AUTO_INCREMENT, ou FALSE si aucune connexion MySQL n'a été établie.
1
gbammelet Messages postés 45 Date d'inscription mardi 28 janvier 2014 Statut Membre Dernière intervention 15 décembre 2015
11 févr. 2014 à 15:08
Voici les structure des tables:
CREATE TABLE IF NOT EXISTS 'making_off' (
  'id_making' int(4) NOT NULL AUTO_INCREMENT,
  'id_video' int(4) NOT NULL,
  'id_son' int(4) NOT NULL,
  'id_image' int(4) NOT NULL,
  'titre_making' varchar(250) CHARACTER SET utf8 NOT NULL,
  'stitre_making' varchar(250) CHARACTER SET utf8 NOT NULL,
  'photo_couv' varchar(100) CHARACTER SET utf8 NOT NULL,
  'date_making' date NOT NULL,
  PRIMARY KEY ('id_making')
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;



CREATE TABLE IF NOT EXISTS 'image_off' (
  'id_image' int(4) NOT NULL AUTO_INCREMENT,
  'title' varchar(250) CHARACTER SET utf8 NOT NULL,
  'chemin' varchar(50) CHARACTER SET utf8 NOT NULL,
  PRIMARY KEY ('id_image')
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


maintenant mon problème c'est de pouvoir récupérer id_image de la table image_off pour le mettre dans la table making_off sans le remplir soi même.Il doit se remplir automatiquement. Je veux avoir la requête sql qui permet de le faire
0
Rejoignez-nous