webForumDet fria alternativet

Flytta data från en databastabell till en annan (olika tabellstrukturer)

PHP

0 svar · 228 visningar · startad av SimOnline

Medlem sedan juli 20031 132 inlägg
Frågan#1

Hejsan!

Jag vet inte om detta borde ligga under SQL-forumet, men det då får jag be någon moderator flytta tråden.

Jag skulle behöva hjälp med ett PHP-skript för att flytta en mängd poster från en databastabell till en annan. Tabellerna ligger i samma databas men har olika struktur. Det handlar om ett gäng Wordpress-inlägg som ligger i tabellen wp_posts. De kolumner som är av intresse är väl dessa:

ID		bigint(20)	Ja   	NULL 
post_date	datetime	Ja  	0000-00-00 00:00:00 
post_content	longtext	Ja  	 
post_title	text		Ja

Detta ska in i en tabell som heter photos_pixelpost, med följande kolumner:

id		int(11)   	Ja   	NULL 
datetime	datetime 	Ja  	0000-00-00 00:00:00 
headline	varchar(150) 	Ja  	 
body		text 		Ja  	 
image		text 		Ja  	 
category	varchar(150) 	Ja

Går det att få in så att det blir samma ID i photos_pixelpost, som det tidigare var i wp_posts? Eller skapas id automatiskt så fort nya poster kommer till? Men i övrigt ska post_date -> datetime, post_content -> body, post_title -> headline och category ska vara 1 på alla poster.

Sen har vi den lite kruxiga biten (för mig som PHP-noob :stud) Jag har en tabell som heter wp_postmeta med kolumnerna

meta_id		bigint(20)   	Ja   	NULL 
post_id		bigint(20) 	Ja  	0 
meta_key	varchar(255) 	Ja  	NULL 
meta_value	longtext 	Ja  	NULL

Nu ska jag försöka förklara vad jag vill ha gjort med den, ni får fråga om det blir för luddigt. I denna tabell finns ett antal poster där meta_key = "bild". Den information som finns i meta_value är url:er till bilder, t.ex. http://www.domännamn.se/bilder/bild.jpg. Jag vill föra över endast filnamnet, alltså bild.jpg, till image-kolumnen i photos_pixelpost så att "post_id" sammanfaller med ID i photos_pixelpost. Detta är ju under förutsättning att det faktiskt gick att bevara ID't från wp_posts-tabellen. Om detta inte går, hur gör jag då?

Det blev ett långt och krångligt inlägg, men jag hoppas att någon kan tänka sig att hjälpa mig lite :)

Tack på förhand! :bire

252 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)