Page 1 sur 1

update entre 2 base de données mysql et sqlite

Posté : 07 févr. 2013, 12:02
par inouekun
Bonjours,

J'ai 2 bases de données, une sur phpMyAdmin et une autre sqlite.

Dans celle qui est sur sqlite, j'ai une table 'place' avec le cp, la latitude et la longitude

dans celle de phpMyAdmin j'ai une table controle technique, et dans celle-ci j'ai un cp et j'aimerai prendre la longitude et la latitude de la BDD sqlite. Je ne peux pas importer la table de sqlite dans phpMyAdmin (plus de 400.000 lignes)

J'aimerai donc réaliser un update.

Dans le genre
	
UPDATE centretechnique
SET longitude= ( SELECT longitude
        FROM place
        WHERE place.longitude= centretechnique.longitude)
entre 2 bases de données, j'ai trouvé comment faire mais c'était entre deux bases de données qui était dans phpMyAdmin

Alors je demande votre aide tout en continuant à chercher.

Re: update entre 2 base de données mysql et sqlite

Posté : 07 févr. 2013, 23:53
par moogli
salut,

c'est une mauvais coté normalisation et au final performance.

ce n'est pas génant d'avoir une table de 400000 lignes, les SGBD peuvent encaisser plus.

d'ailleurs tu n'as de base "sur phpmyadmin" mais plutot sur mysql ?

Au final tu y gagnera a avoir cette table avec mysql plutot que dans une table bourrée doublon qui vont ralentir les recherches, les select et les mise à jour :)

Pour l'import, tu peux faire un export csv ou sql puis import dans mysql.
vue le volume de donnée ne passe pas par phpmyadmin le fichier sera trop gros :)

j'ai donnée un exemple de possibilité avec php de passage de donnée d'une base à une autre (même si l'autre n'est pas sqlite c'est exactement surtout avec pdo il y a juste a change de driver ;)



@+

Re: update entre 2 base de données mysql et sqlite

Posté : 08 févr. 2013, 18:27
par inouekun
Je ne veux pas faire de doublons ou autre
J'ai une base de donnée sqlite parce que...(j'en sais rien, mon maitre de stage là créé pour un autre site et il me l'a donné) et je veux mettre les données long et lat dans ma base de données mysql sous un autre table pour ensuite les insérés dans une table où j'ai toutes les données sur les villes.
Je voulais faire ça au début, mais j'ai décidé de finalement faire un script qui rajoute directement les long et lat dans mysql par une comparaison des villes. Mais ça fonctionne pas :p
J'arrive pas à me connecter à ma base de données sqlite via php, j'ai toujours la même erreur "La création ou l'ouverture de la base [geonames.sqlite] a échouée pour la raison suivante: SQLiteDatabase::__construct() [sqlitedatabase.--construct]: file is encrypted or is not a database"
Alors je cherche comme faire :)

Mais merci pour ta réponse

Inouekun

Re: update entre 2 base de données mysql et sqlite

Posté : 23 févr. 2013, 22:17
par niuxe
Salut,

Il se peut que ta SGBDR soit cryptée.
Petite piste à creuser je pense :
* Est ce que tu as essayé de nommer les bases de données respectives dans ta requête SQL ?
* Encodage des fichiers ?
* Essai de savoir sur quelle version de Sqlite la SGBDR a été créée.
* Est ce que ton SELECT fonctionne en PHP ? (avec pdo ou avec sqlite ou avec sqlite 3 ou avec pearDB)
* En ligne de commande, peux tu connecter à ta base de données Sqlite ?
* Est ce que ton SELECT fonctionne en ligne de commande dans Sqlite ?
* Est ce que tu peux faire un Dump en ligne de commande ?

lien annexe :
Jay Godse
extension firefox