my problem here is that I’ve got no idea of SQL queries but need to do something I’m assuming should not be hard. I’ve tried some of the recommended questions but I just can’t really understand how to extrapolate it to my case, hope you can help me.
Basically what I need is to create some rows in a table, and populate their fields with the
values from other rows in the same table, I’ll try to be very specific.
I’ve a got a table ( vb_postmeta ) with a lot of rows, some of them look like this:
meta_id | post_id | meta_key | meta_value |
---|---|---|---|
1434 | 500 | bpxl_videourl | lOO6hyOKoUM |
1435 | 501 | bpxl_videourl | skjd9F008mN |
What I need here is, for each of these rows, to create a new one that look like this:
meta_id | post_id | meta_key | meta_value |
---|---|---|---|
AUTO | 500 | csco_post_video_url | https://www.youtube.com/watch?v=lOO6hyOKoUM |
AUTO | 501 | csco_post_video_url | https://www.youtube.com/watch?v=skjd9F008mN |
meta_id is the key, so should auto-generate, while post_id should be the same and meta_value should also have the same value with the Youtube URL preppended.
I don’t really know how hard is this but hope not too much,
thanks in advance for the help, been struggling a lot with this.
3
Answers
Following suggested answers I ended up using this:
Assuming your meta_id is AI(auto increment) and using mySQL(minor change for MSSQL), try:
Based on your question, I am assuming you need to insert new rows into the same table – vb_postmeta .
For this,
INSERT INTO vb_postmeta (post_id,meta_key,meta_value)
SELECT
post_id,meta_key,”meta_value
‘https://www.youtube.com/watch?v=’+NAME
FROM vb_postmeta