2 tabellen samenvoegen
ik heb dit geprobeerd met dbForge Studio for MySQL export naar access of excell, maar het probleem zit hem dat je een tabel, producten heb en een tabel product_inventories ( sku ) als ik dan de veld sku kopier naar producten dan komt het sku niet overeen met id en name, in product_inventories zit ook een product_id maar pfff weet ut eve niet meer
hoe kan ik dit het beste aanpakken, het gaat over meer dan 2000 artiekelen.
ik kan dit wel importeren in de nieuwe site (xls, xlsx, csv)
hoop dat iemand me kan helpen
Gewijzigd op 19/10/2023 23:44:17 door - Ariën -
Maak gewoon een export met bijvoorbeeld Mysqldump en laat je data incl. de auto-increment kolommen wegschrijven als insert-query's.
Dan ga ik er wel vanuit dat je nieuwe database nog leeg is...
Zelf connect ik meestal met HeidiSQL om daarmee de data te exporteren, maar dan moet je wel remote kunnen connecten met de database(s)
ik ben door omstandigheden een groot gedeelte geheugen kwijt maar probeer door vallen en opstaan toch weer mijn hobby op te pakken maar sorry hier ben ik eve totaal de weg kwijt.
Maar ik zou gewoon zorgen dat de tabellen gelijk zijn zodat je de data over kunt pompen.
ik heb dus de oude db met producten en de nieuwe db met producten, alleen het verschil is dat het sku nr niet in de tabel producten staat ( oude db ) maar wel in de nieuwe db
dus nu heb ik oude website de tabel producten en product_invention gexporteerd naar een access file, en daar probeer ik de veld sku van product_invention te kopieren en te plakken in producten maar uhhhh dan komen naam en sku niet overeen
hoop dat je het nu een beetje snap wat ik bedoel
Gewijzigd op 19/10/2023 19:11:46 door - Ariën -
Hoezo ga je van MySQL over naar Access?
Gewijzigd op 19/10/2023 19:10:37 door - Ariën -
Het klinkt als een overbodige tussenstap? De nieuwe site gebruikt ook Mysql/MariaDB?
2) update je tabel naar iets wat je wilt hebben:
UPDATE producten SET eenKolom = skuKolom WHERE 1=1
3) als dat gelukt is, verwijder je eventueel de betreffende kolom.
of als die SKU in een losse tabel staan (waarom zou dat logisch zijn?) dan doe je datzelfde met een UPDATE query met een JOIN erin.
Toevoeging op 19/10/2023 18:24:10:
enne
2000 producten is veel als je het over moet typen, maar voor een database is het weinig.
Ik heb hier een portal draaien met daarin 75000 producten.
Maar de tabel orders bevat 1.6 miljoen entry's met apart daarvan 4.5 miljoen regels voor die orders.
En dat is mi. nog steeds best klein, want dit gaat maar om alle bouwmarkten (en vergelijkbaar) in de benelux.
sku zit helaas in een andere tabel.
maar in alvast bedankt.
Edit:
Ik heb een aantal berichten ingesnoeid van wat quotes omdat het niet nodig is om het eerst voorgaande bericht integraal te quoten. Zo blijft het topic beter leesbaarder.
Alvast bedankt!
Alvast bedankt!
Gewijzigd op 19/10/2023 19:11:38 door - Ariën -
er is een tabel met producten. Laat ik ervanuit gaan dat die "producten" heet en een id-kolom heeft
En er is een tabel product_inventories die een kolom sku bevat?
voegen we een kolom skuNieuw toe aan de tabel producten. (of er is een bestaande kolom die je daar mee wilt vullen. Bijvoorbeeld de kolom gewicht, of kleur. Hoe dan ook, in mijn voorbeeld noem ik dat ding skuNieuw.)
Code (php)
1
2
3
4
2
3
4
UPDATE producten p
JOIN product_inventories pi ON pi.product_id = p.id
SET p.skuNieuw = pi.sku
WHERE (p.skuNieuw = '' OR p.skuNieuw IS NULL)
JOIN product_inventories pi ON pi.product_id = p.id
SET p.skuNieuw = pi.sku
WHERE (p.skuNieuw = '' OR p.skuNieuw IS NULL)
Het kan ook zijn dan product_inventories losse values bevat met een label erbij.
dus als product_inventories bevat de kolommen product_id, label en waardekolom (en evt een id)
Dan wordt het
moest het nog iets aanpassen maar het is gelukt.
nog even 1 vraag, ik heb een tabel producten en daarin zit een veld op_voorraad maar die staat op 0 kan ik die 2000 ook versneld op yes zetten.
bedankt
Gewijzigd op 20/10/2023 18:50:47 door gerrit van weele
Fijn dat het werkt! :-)
Gerrit van weele op 20/10/2023 18:46:19:
nog even 1 vraag, ik heb een tabel producten en daarin zit een veld op_voorraad maar die staat op 0 kan ik die 2000 ook versneld op yes zetten.
bedankt
nog even 1 vraag, ik heb een tabel producten en daarin zit een veld op_voorraad maar die staat op 0 kan ik die 2000 ook versneld op yes zetten.
bedankt
Waarbij ik als tegenhanger van 'yes' niet '0' maar eerder 'no' zou verwachten.
of omgekeerd dan op_voorraad 1 was als het artikel beschikbaar is, of misschien zelfs 25 zou bevatten als er nog 25 stuks in je magazijn klaar liggen (en nog niet besteld zijn)
this allemaal gelukt, nogmaals thanks