Bonjour,

Tout nouveau dans la communauté et débutant en PHP/MySQL
J'ai un petit soucis et j'espère que vous pourrez m'aider à le résoudre…
Tout se passe dans PhpMyAdmin version5.1.1. J'ai fais un import d'une table avec ses données dans une base de données. Jusque là tout va bien!
Maintenant j'ai besoin d'insérer les données de cette table dans des colonnes de plusieurs tables différentes. Sachant que ces tables sont reliées entre elles avec des colonnes auto-incrémentes. J'ai eu à utiliser LAST_INSERT_ID que j'ai mis dans une variable. ça donne ceci:

BEGIN;

INSERT INTO table1 (
table1_pseudo,
table1_nom, 
table1_prenom, 
table1_nationalite_1)
VALUES ('X-OR', 'DUPONT', 'François', 4);

SET @var_table1_id = LAST_INSERT_ID();

INSERT INTO table2 (table1_id, table2_notes)
VALUES (@var_table1_id, 2015);

INSERT INTO table3 (table3_table1_id, 
table3_ia_id, 
table3_ia_lab_id, 
table3_ia_autre, 
table3_ia_adresse, 
table3_ia_ville, 
table3_ia_contact, 
table3_niveau, 
table3_titre, 
table3_date_arrivee, 
table3_date_depart, 
table3_organisme, 
table3_ville, 
table3_pays, 
table3_poste)
VALUES(@var_table1_id, 244, 349, 'X-OR 02', 'Cyberlab Lune', 4105, 'RollerSky', 1, 'space invider', ' 2015-09-07', '2015-09-21', 'OSS 117', 'Tokyo',  4, 'super heros');

SET @var_table3_id = LAST_INSERT_ID();

INSERT INTO table4 (table4_table3_id, table4_type)
VALUES(@var_table3_id, 8);

COMMIT;

Et ça fonctionne très bien! Le problème c'est que j'ai plus de 500 lignes à insérer! Je ne peux donc pas utiliser VALUES.

Alors comment faire pour insérer une colonne entière d'une table vers une colonne d'une autre table tout en tenant compte de l'auto incrémentation qui les relie?

J'espère avoir été le plus clair possible…. Merci!

Aucune réponse