Kahe SQL faili liitmine
Postitatud: 20.11.2012, 10:42
Taas otsin mõnda lihtsalt lahendust, kuidas liita kaks MySQL-i SQL andmebaasi üheks.
Üks andmebaas on vanem ja andmetega, kuid seal on palju erinevaid tabeli ridu puudu. Teine - uus ja täielik kõik tabelid olemas ja kõik vajalikud väljad ka. Kuid andmed puudu. Vaja oleks need kuidagi kokku panna.
Lihtsalt phpMyAdminniga ei suuda seda vist lahendada, sest kui jättes DROP DABLE ja IF NOT EXIST käsud sisse, siis see leiab tabeli näiteks products ja viskab selle minema, kuid mind huvitavad hoopis seal need tabeli sees olevad väljad.
Näide. Mõlemas andmebaasis on olemas tabel: customization. Kuid vana tabel sisaldab endas välju:
id_customization
id_product_attribute
id_product
quantity
quantity_returned
Uus tabel sisaldab endas aga välju:
id_customization
id_product_attribute
id_cart
id_product
quantity
quantity_refunded
quantity_returned
Ehk kaks välja on juures. Nüüd ma tahaks, et sellest vanast tabelist kõik väljad, koos andmetega toodaks üle, kuid jäetaks puutumata uues tabelis olevad need väljad ja andmed, mida vanas ei ole.
Päris käsitsi ei saa seda teha, sest tegu ca 15MB andmebaasiga, kus tabeleid mitukümmend ja edasi ka igas tabelis veel väljad.
SSH ligipääs on ka kahtlane. phpMyAdmin aga on olemas ja seal saan vajalike SQL käske käivitada.
Üks andmebaas on vanem ja andmetega, kuid seal on palju erinevaid tabeli ridu puudu. Teine - uus ja täielik kõik tabelid olemas ja kõik vajalikud väljad ka. Kuid andmed puudu. Vaja oleks need kuidagi kokku panna.
Lihtsalt phpMyAdminniga ei suuda seda vist lahendada, sest kui jättes DROP DABLE ja IF NOT EXIST käsud sisse, siis see leiab tabeli näiteks products ja viskab selle minema, kuid mind huvitavad hoopis seal need tabeli sees olevad väljad.
Näide. Mõlemas andmebaasis on olemas tabel: customization. Kuid vana tabel sisaldab endas välju:
id_customization
id_product_attribute
id_product
quantity
quantity_returned
Uus tabel sisaldab endas aga välju:
id_customization
id_product_attribute
id_cart
id_product
quantity
quantity_refunded
quantity_returned
Ehk kaks välja on juures. Nüüd ma tahaks, et sellest vanast tabelist kõik väljad, koos andmetega toodaks üle, kuid jäetaks puutumata uues tabelis olevad need väljad ja andmed, mida vanas ei ole.
Päris käsitsi ei saa seda teha, sest tegu ca 15MB andmebaasiga, kus tabeleid mitukümmend ja edasi ka igas tabelis veel väljad.
SSH ligipääs on ka kahtlane. phpMyAdmin aga on olemas ja seal saan vajalike SQL käske käivitada.