BOnjour,

je viens vers car je dois faire une migration d'une base de donnée vers une autre. Je dois recuperer les données de l'une pour les injecter dans l autre mais avec une structure differentes, car plusieurs compte osn associer a un profil (je sais c est space lol).

L'ancienne bdd a en structure par exemple:

CREATE TABLE users (
    id INT NOT NULL AUTOM_INCREMENT PRIMAY KEY,
    username VARCHAR(50),
    password VARCHAR(50),
    adr VARCHAR(200),
    cp VARCHAR(10),
    ville VARCHAR(50),
    tel INT(10) ZEROFILL,
    //etc....
);

La nouvelle base est différente, avec une relation par exemple:

CREATE TABLE users (
    id INT(11) NOT NULL AUTOM_INCREMENT PRIMAY KEY,
    username VARCHAR(50),
    password VARCHAR(50),
    profile_id INT(11) NOT NULL
//etc....
);
CREATE TABLE profils (
    id INT(11) NOT NULL AUTOM_INCREMENT PRIMAY KEY,
    adr VARCHAR(200),
    cp VARCHAR(10),
    ville VARCHAR(50),
    tel INT(10) ZEROFILL
//etc....
);

Du coup je ne sais pas trop comment m'y prendre pour inserer les données de l'une dans l'autre.

Merci d'avance.

1 réponse


Mikachu
Auteur

Merci,

Oui énormément: 300 lignes en moyenne par table et il y en a pas qu'une...

J'ai simplifié l'exemple

EDIT:
Je viens d'y penser à l'instant lol.
Sinon je pensais faire 2 requetes SQL du genre:

Pour la table users:
SELECT id, username, password, id as profile_id FROM users
puis un insert dans la nouvelle table users avec les valeurs recupérées.

et une seconde:
Pour la table profils:
SELECT id, adr , cp , ville, etc FROM users
puis un insert dans la table profils avec les valeurs recupérées.