![]() |
flytta wordpress med SQL query
1 bifogad(e) fil(er)
Klurar på att flytta min databas till ip.blogg men behöver lite hjälp med SQL.
Databaserna ser ut så här: http://community.invisionpower.com/i...ttach_id=27661 Wordpress till höger och ip.blog till vänster. |
Kan du posta CREATE satserna för dessa två tabeller så blir det lite lättare (så slipper jag knacka in det manuellt i min databas).
Grundprincipen är dock att skriva ungefär så här: Jag har i detta lilla exempel förutsatt at kolumnerna mappar 1:1 i den ordning kolumnerna är upplagda i nedanstående SQL-sats (INSERT ... respektive SELECT ...): Kod:
-- Den trickiga delen är att mappa alla kolumnerna rätt så man får med |
En enkel kopiering är inte så svårt, men går det att lägga in values i samma query? Blogid till exempel har ingen motsvarighet i Wordpress databasen så där måste jag lägga in ett värde så att rätt användare får bloggposten i sin blogg.
Idealiskt vore att köra något typ: insert into ip.blogg (kol1, kol2, osv) values null, 1, 2 osv and insert into ip.blogg(kol3, kol4, osv) select val1, val2, val3 ,osv from wordpress men kan man göra så? Har bara provat att antingen lägga in värden eller kopiera, aldrig båda samtidigt... |
När du använder VALUES så kan du ersätta det med en SELECT i stället så kan du köra samma SQL-sats för hela databasen i en enda SQL-sats, precis som jag visade i mitt förra inlägg.
Du kan inte använda begreppet VALUES samtidigt som SELECT. SELECTen är mycket mer flexibel. Förklara gärna mer var du hämtar värdet du vill ha in i blog_id så kanske jag förstår bättre. Kod:
-- Detta är en enda SQL-sats om jobbar på hela databasen... Jag vet inte hur mappningarna är mellan tabellerna så du får gärna förklara mer för mig.... Om du lägger till en extra kolumn tillfälligt med ID från Wordpress tabellen så kan du köra update i IP.BLOG i efterhand och mappa ihop tabellerna med wordpress.ID och din nya IPBLOG.WP_ID .... |
Jag tycker Conny krånglar till det lite.
Kod:
insert into ip.blog (col1, col2, col3, col4) Col2-4 hämtar du ifrån din gamla databas. Här det det viktigt att kolumnerna är i exakt samma ordning i inserten(första parentesen) som de är i values-selecten. Viktigt är också att det då är exakt samma format på datan. Är det inte exakt samma format på datan måste du nog göra ett script som gör en select-loop och konverterar datan för varje rad innan den stoppas in i den nya databasen med en insert-query. |
Citat:
Kod:
INSERT INTO ip.blog (col1, col2, col3, col4) Det enda jag la till var lite förklarande texter/kommentarer så det skulle bli lättare att förstå. |
Så här var det tänkt :)
INSERT INTO ibf_blog_entries ( blog_id, entry_author_id, entry_author_name, entry_date, entry_name, entry, entry_status, entry_locked, entry_edit_time, entry_html_state, entry_use_emo, entry_last_update, entry_name_seo, entry_short) SELECT {BLOG_ID}, {ENTRY_AUTHOR_ID}, {ENTRY_AUTHOR_DISPLAY_NAME}, UNIX_TIMESTAMP(post_date_gmt), post_title, post_content, (CASE WHEN post_status = 'publish' THEN 'published' ELSE 'draft' END), (CASE WHEN comment_status = 'open' THEN 0 ELSE 1 END), UNIX_TIMESTAMP(post_modified_gmt), 1, 1, UNIX_TIMESTAMP(post_modified_gmt), post_name, (CASE WHEN post_excerpt <> '' THEN post_excerpt ELSE NULL END) FROM wp_posts WHERE post_type = 'post'; |
Bilderna i ditt första inläggär helt oläsbara nu, kan du lägga upp tabellstrukturerna igen gärna som create staments.... ?
Funderar mest på om bölog_id var PK i IP.BLOG eller inte.... |
Alla tider är GMT +2. Klockan är nu 13:56. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson