probleme de clé etrangere [MySQL] - SQL/NoSQL - Programmation
Marsh Posté le 01-08-2007 à 12:34:07
Je ne suis pas sûr de comprendre ta question. C'est ça que tu veux faire ?
SELECT * FROM client,reservation WHERE client.id=reservation.client_id AND reservation.chambre_id='42';
Autoincrement c'est très bien pour ce que tu veux faire à priori.
Précise ta question ou ce que tu veux faire, et je te répondrai. ;-)
Marsh Posté le 01-08-2007 à 15:39:01
oui c'est ca que je veux faire, mais je ne sais pas comment lier les tables entre elles. Par exemple dans la table client j'ai 3 lignes, dans la table réservation 5 lignes.
Un client fait une commande. les infos sont stockées dans la ligne 3 de client, ligne 5 de réservation. Vu que c'est en autoincrement les numero clients seront différents, donc pour récupérer les valeurs je verrai le bon client avec la réservation d'un autre client...vous voyez a peu pres ce que je veux dire ? si j'ai un numéro unique je peux faire une recherche sans problemes, mais là le numéro client sera différent selon la table...
Marsh Posté le 01-08-2007 à 15:44:01
Pour faciliter ta conception, seules les clés primaires doivent être en autoincrement (j'en vois déjà certains sortir la batte en métal mais bon ^^).
La liaison se fait avec des INNER JOIN dans ton cas.
Marsh Posté le 01-08-2007 à 11:07:00
Bonjour
J'ai un petit problème : j'ai 3 table :
client(N°client, ...)
chambre(n°chambre, ...)
reservation(N°reservation, #N°client, #N°chambre)
Et là gros trou de mémoire (c'est l'été) : comment récupérer le client qui a reservé la chambre n°... ? les numéro client et numéro chambre sont en autoincrement, ca va ou il vaut mieux générer des numéro ?
Je reexplique car c'est pas tres clair (pour moi) :
Dans ma requete de recupération, je compte mettre where client.N°Client = reservation.N°Client and reservation.N°Chambre=chambre.N°Chambre, mais ces données je dois les insérer et je ne sais pas trop comment faire correspondre tout ca. Il faut des clés etrangeres non ? je galere un peu pour les mettre...