begin process at 2012 05 31 18:11:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Tables liées


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Tables liées

mercredi 27 février 2008 à 16:26:52 | Tables liées

Loumir

Bonjour,
J'apprend en construisant et à chaque saut de puce je tombe dans un gouffre ! Pouvez-vous me sortir de celui-là ?
J'ai trois tables  la troisième (livres) utilisant des données de deux autres (editeurs et matieres)

[code]
CREATE TABLE `livres` (
  `id` tinyint(5) NOT NULL auto_increment,
  `id_matiere` tinyint(5) NOT NULL default '0',
  `titre` varchar(50) NOT NULL default '',
  `id_editeur` tinyint(5) NOT NULL default '0',
  `annee` varchar(40) NOT NULL default '',
  `reference` varchar(10) NOT NULL default '',
  `isbn` varchar(10) NOT NULL default '',
  `commentaires` tinytext NOT NULL,
  PRIMARY KEY  (`id`),
  KEY `id_matiere` (`id_matiere`),
  KEY `id_editeur` (`id_editeur`)
) TYPE=InnoDB AUTO_INCREMENT=1 ;

-- Contraintes pour la table `livres`

ALTER TABLE `livres`
  ADD CONSTRAINT `livres_ibfk_1` FOREIGN KEY (`id_matiere`) REFERENCES `matieres` (`id_matiere`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `livres_ibfk_2` FOREIGN KEY (`id_editeur`) REFERENCES `editeurs` (`id_editeur`) ON DELETE CASCADE ON UPDATE CASCADE;
[/code]

Je n'arrive pas à enregistrer mes données avec
[code]
msql_query("INSERT INTO livres VALUES ('','$id_matiere',$titre','$id_editeur',$annee','',$reference','$isbn','$commentaires')");
[/code]

Je pense que c'est dû à ma table livres qui ne doit pas être configurée correctement car toutes mes variables existent bien (confirmées par echo).

Qu'est-ce que je n'ai pas compris ?
Merci beaucoup


LoumirLoumir

mercredi 27 février 2008 à 16:32:26 | Re : Tables liées

nicomilville

Membre Club
Salut,

Met : msql_query("INSERT INTO livres VALUES ('','$id_matiere',$titre','$id_editeur',$annee','',$reference','$isbn','$commentaires')") or die(mysql_error());
et ensuite si tu obtient une erreur met la nous, et peut être que l'on y verra plus clair !!!

Si t'a besoin d'aide, MP !!!

mercredi 27 février 2008 à 16:42:19 | Re : Tables liées

Evangun

Hello, si tes variables existent bien, c'est sans doute que tu violes une clé étrangère (éditeur ou matière correspondants inexistants).
à+
mercredi 27 février 2008 à 16:44:20 | Re : Tables liées

Evangun

Tu as aussi fait une faute là : eur',$annee','',$ref

tu devrais aussi préciser dans quels champ tu insères tes valeurs, sinon dès que tu rajouteras un champ dans ta table, faudra refaire toutes tes requêtes.

à+

mercredi 27 février 2008 à 17:57:46 | Re : Tables liées

Loumir

Merci pour vos réponses et vos conseils, j'en tiendrai compte.

 J'ai corrigé le champ en trop. Les tables et champs liés existent bien (les listes déroulantes issues des tables fonctionnent)

Il reste une erreur :  You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '18ème siècle','1',2007',128327','','')' at line 1

Ca n'est pas très explicite !

Loumir
Loumir
mercredi 27 février 2008 à 18:20:22 | Re : Tables liées

Evangun

c'est ce que je t'ai dit, il manque une apostrophe.
mercredi 27 février 2008 à 19:51:59 | Re : Tables liées

nicomilville

Membre Club
'18ème siècle','1','2007','128327','','')'

Si t'a besoin d'aide, MP !!!

mercredi 27 février 2008 à 19:52:25 | Re : Tables liées

Loumir

Merci je l'avais pourtant lu et relue cette ligne !
Cette fois c'est bien ma table qui pose problème : "Cannot add or update a child row: a foreign key constraint fails"

La table principale fait référence aux clés étrangères. Les tables annexes doivent-elles également en parler ? Ce qui n'est pas le cas dans mon exemple :

[code]
CREATE TABLE `peep_editeurs` (
  `id_editeur` tinyint(5) NOT NULL auto_increment,
  `editeur` varchar(30) default NULL,
  PRIMARY KEY  (`id_editeur`)
) TYPE=InnoDB AUTO_INCREMENT=7 ;
[/code]



LoumirLoumir

jeudi 28 février 2008 à 14:45:06 | Re : Tables liées

Evangun

Hello, ta table est censée s'appeler editeurs d'après ta clé étrangère, pas peep_editeurs.
Fais attention à ce que tu fais, et relis-toi 2 fois avant de poser tes questions :)
à+
jeudi 28 février 2008 à 17:57:18 | Re : Tables liées

Loumir

J'ai renomé mes tables pour présenter mon problème sur ce forum mais j'ai laissé passé celle là. Dans mon projets les noms sont corrects. J'ai bien entendu vérifié.
Merci quand même.


LoumirLoumir


Cette discussion est classée dans : id, livres, matiere, not, default


Répondre à ce message

Sujets en rapport avec ce message

Imbriquer des requetes [ par Minette26 ] Bonsoir,Pouvez-vous me dire si j'ai une solution à mon problème ou s'il faut que je reprenne mes variables ?J'ai enregistré dans ma table "depot_livre Problème de débutant appel Mysql [ par napster24 ] Bonjour tout le monde, voilà j'ai récupérer un script fonctionnant en php et faisant appel à du SQL. Ce site est en faite un site de Direct Download L Problème avec LEFT JOIN MYSQL [ par kirk57 ] Bonjour, J'ai 2 tables pour gérer le multilangue de l'interface et des pages "statiques" sur mes sites. La première gère les clefs, la deuxième gère l Problème d'insertion des champs d'un formulaire dans une table [ par NounoursExia ] Bonjour, j'ai un problème dans mon code. Je souhaite afficher à l'écran de l'utilisateur un formulaire qui affiche des informations. Ces infos sont dé Problème pour modifier ma base de donnée ar l'intermédiaire de la partie admin de mon site [ par boubeuch1 ] Bonjour, Je suis en train de faire la partie administration de mon site internet. Cette partie à pour but de pouvoir ajouté dans chaque page (CREATE Problème avec mon fichier sql [ par pierrehs ] Bonjour, Quand j'importe le fichier sql.sql PHPMyAdmin m'indique cette erreur [i]requête SQL: -- -- Database -- CREATE TABLE `settings` ( `id` INT Tableau dynamique et couleur des lignes [ par jumano ] Bonjour, Débutant en PHP Je travaille actuellement sur l'élaboration d'une petite application WEB de gestion de courriers ARRIVES et DEPARTS. J'ai une problème d'update dans bdd... [ par djinko ] Bonsoir,J'ai deux tables :---------------------------------------------------------------------------------------CREATE TABLE `membre` (    `id_membre Dernières réponses aux post en haut du forum [ par porciner ] Bonjour, j'ai un problème :J'ai fait un forum et je voudrais que les titres des posts soient affichés en tenant compte de leur dernière réponse et non besoin d'aide pour une analyse [ par speedylol ] j'aurais besoins d'une analyse suivant merise pour c'est table ,j'ai perdu toute mon analyse et je doit terminée mon mémoire pour remettre ce soir il


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,718 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales