Door
gerrit van weele
op 19-10-2023 15:13
gewijzigd op 19-10-2023 23:44
2.635 views
ik wil de data uit mijn oude website halen voor mijn nieuwe website.
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)
nieuwe db is leeg maar de tabel product heeft in de nieuwe geen sku veld en ik heb een id ( in de oude wil ik dus de sku naar de nieuwe doen ( hier heb ik wel een product_id) maar als ik dat bijv in access doe dan klopt het niet dan zijn bijv de eerst 100 goed en dan klopt het niet meer?
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.
mijn oude website heeft iets meer dan 2000 producten nu wil ik deze in mijn nieuwe website zetten.
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
1) zorg dat beide tabellen gelijk zijn, of in elk geval op de nieuwe plek alle kolommen van de oude heeft, eventueel zelfs meer dan die kolommen.
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.
[size=xsmall]Toevoeging op 19/10/2023 18:24:10:[/size]
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.
ok:
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.)
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)
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
UPDATE producten p
JOIN product_inventories pi ON pi.product_id = p.id AND pi.label = 'sku'
SET p.skuNieuw = pi.waardekolom
WHERE (p.skuNieuw = '' OR p.skuNieuw IS NULL)