[PHP/MySQL] INSERT de result van SELECT - mogelijk?

Pagina: 1
Acties:
  • 1.156 views sinds 30-01-2008
  • Reageer

Onderwerpen


Verwijderd

Topicstarter
Hallo beste mensjes,

Het is alweer een flinke tijd geleden dat ik voor het laatst op dit forum heb gepost, ik zit echter met een brandende vraag waar ik zo één twee drie een antwoord op kan vinden.

Ik wil graag data van een aantal tabellen uit een zen-cart database inlezen van de ene remote MySQL server/database en ze toevoegen aan mijn eigen lokale zen-cart database via PHP.

Dus.. Tabellen kopieëren van de ene databse naar een andere.

Nu vroeg ik me dus af of het mogelijk is om met één query tabellen te kopiëeren, of hoe doe je dit op de juiste manier? Of moet ik elk veld afzonderlijk inlezen in een array, dan een INSERT query maken met ieder veld afzonderlijk? Is namelijk nogal wat, hoop het niet..

Thanks alvast als iemand tips heeft!

[ Voor 7% gewijzigd door Verwijderd op 27-12-2007 06:02 ]


  • sanfranjake
  • Registratie: April 2003
  • Niet online

sanfranjake

Computers can do that?

(overleden)
Wat heb je zelf zoal geprobeerd? Dit lijkt mij meer een programmeerprobleem dan een Windows Servers en Server-software-probleem, aangezien het over queries in databases gaat en data uitwisselen.

Windows Servers en Server-software > Programming

Mijn spoorwegfotografie
Somda - Voor en door treinenspotters


  • MLM
  • Registratie: Juli 2004
  • Laatst online: 12-03-2023

MLM

aka Zolo

tabellen kan je niet direct kopieren (en al helemaal niet "cross-database"), dus je gaat op een manier het schema + alle data van de tabellen uit de database moeten halen en dan weer inladen in de ander.

ik heb geen ervaring met zen-cart, maar het heeft vast wel een dump-table-naar-file/backup optie, gebruik dan die file (gezipt als ie erg groot is) om alles te transporteren :)

-niks-


  • DiedX
  • Registratie: December 2000
  • Laatst online: 12:03
Ik zet in op een MySQL-dump, en dan zonder "drop tables"....

Of toch niet. Het probleem is dat je dan een foreign-key probleem kweekt :(

Is je "naar te copieeren" zencart reeds gevuld?

DiedX supports the Roland™, Sound Blaster™ and Ad Lib™ sound cards


  • Kalentum
  • Registratie: Juni 2004
  • Laatst online: 16:37
Je kan een INSERT statement maken dat gebruik maakt van een SELECT. Dit kan ook cross-database, als je databases maar op dezelfde server staan. Zie de Mysql manual voor de syntax en voorbeeldjes. http://dev.mysql.com/doc/refman/5.1/en/insert-select.html

Je zou dus een nieuwe database op je lokale server kunnen maken en daar de zencart database van de remote server in kunnen zetten. En vervolgens de gegevens inserten die je nodig hebt.

  • robbert
  • Registratie: April 2002
  • Laatst online: 11:40
MLM schreef op donderdag 27 december 2007 @ 11:34:
tabellen kan je niet direct kopieren (en al helemaal niet "cross-database")
Zolang het maar op dezelfde server staat is dat geen probleem:
SQL:
1
2
INSERT INTO db1.tabel1
SELECT * FROM db2.tabel2


En je kan ook:
SQL:
1
2
CREATE TABLE db1.tabel1
SELECT * FROM db2.tabel2

[ Voor 12% gewijzigd door robbert op 27-12-2007 12:23 ]


  • P.O. Box
  • Registratie: Augustus 2005
  • Niet online
ik weet niet of ik dat zen-cart gedoe goed begrijp, maar dat is ook een mysql database?

dan kun je toch de map ...\mysql\data\zen-cart kopieren naar ...\mysql\data van je nieuwe server?

  • Borizz
  • Registratie: Maart 2005
  • Laatst online: 24-08 20:35
Je kan ook gewoon phpmyadmin of mysqldump gebruiken? Of denk ik nu zo krom, zo moeilijk is het toch niet. Even zoeken naar backup / restore mysql database zal echt wel wat resultaten opleveren..

Je kan mysqldump ook vanuit php aanroepen:
PHP:
1
2
3
header('Content-Type: application/x-gzip');
    
passthru('mysqldump --opt -u <username> --password="<password>" -h <mysql server> <database naam> | gzip');


Even de variabelen tussen < en > vervangen en je bent er, roep het script aan en je krijgt een mooie gezipte database backup terug.

If I can't fix it, it ain't broken.


  • BikkelZ
  • Registratie: Januari 2000
  • Laatst online: 21-02 08:50

BikkelZ

CMD+Z

Je hebt wel INSERT INTO bla SELECT poo FROM bah

Maar je kunt het beste dumpen en weer inlezen.

iOS developer


  • robbert
  • Registratie: April 2002
  • Laatst online: 11:40
BikkelZ schreef op donderdag 27 december 2007 @ 15:56:
Maar je kunt het beste dumpen en weer inlezen.
Want?
Pagina: 1