comment copier automatiquement ID créé dans une 2ème table ?

comment copier automatiquement ID créé dans une 2ème table ? - SQL/NoSQL - Programmation

Marsh Posté le 12-07-2017 à 06:37:58    

Bonjour a tous,
J'ai 2 tables
1. table client, 1ère colonne indexé + auto-incremente pour le ID (client_id, nom, prénom, etc..)
2. table de dettes, 1ère colonne indexé + clé étrangère (client_id, somme de la dettes)
 
Je cherche la possibilité lors d'ajout d'un nouveaux client de rajouter automatiquement son ID dans la table dettes dans la colonne client_id et mettre un 0 dans somme de la dettes.
 
pour ajouter un client j'utilise ce code:

Code :
  1. $conn = new mysqli($servername, $username, $password, $dbname);
  2. // Check connection
  3. if ($conn->connect_error)
  4. {
  5.     die("Connection failed: " . $conn->connect_error);
  6. }
  7. $conn->query("SET NAMES 'utf8'" );
  8. $sql = "INSERT INTO `synagogue`.`customer_table` (`customer_id`, `first_name`, `last_name`, `address`, `tel`, `mail`) VALUES (NULL, \"$first_name\", \"$last_name\", \"$address\", \"$tel\", \"$mail\" )";


 
Comment faire pour ajouter automatiquement le ID créé avec le nouveaux client dans la table des dettes ?


Message édité par noam76 le 13-07-2017 à 04:39:00
Reply

Marsh Posté le 12-07-2017 à 06:37:58   

Reply

Marsh Posté le 12-07-2017 à 07:07:43    

Utilise des triggers MySQL, c'est fait pour ça.

Reply

Marsh Posté le 12-07-2017 à 10:40:30    

antac a écrit :

Utilise des triggers MySQL, c'est fait pour ça.


[:karma up] je sais pas trop ce que c'est des triggers. Je vais googler ça.
 
Un exemple serais le bien venu comment le faire :)

Reply

Marsh Posté le 16-07-2017 à 15:11:57    

Reply

Marsh Posté le 16-07-2017 à 18:44:58    

Merci,
Je suis passé du MYSQL au PDO, on m'a dit que c'est plus sécurisé.
 
pour ajouter l'ID du client créé, si le client a été bien entré dans la table, je suis aller chercher le dernier ID créé dans la table avec last_Insert_Id.

Reply

Marsh Posté le 16-07-2017 à 18:55:27    

Oui ça marche bien, mais tu es dépendant de ton code PHP pour ça, avec un trigger, ça marche tout le temps que tu ajoutes à la main ou que tu passes par php

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed