skip to Main Content

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


  1. Chosen as BEST ANSWER

    Following suggested answers I ended up using this:

    INSERT INTO vb_postmeta(
        SELECT
            NULL,
            post_id,
            'csco_post_video_url',
            CONCAT('https://www.youtube.com/watch?v=', meta_value)
        FROM
            vb_postmeta
        WHERE
            meta_key = 'bpxl_videourl'
    )
    

  2. Assuming your meta_id is AI(auto increment) and using mySQL(minor change for MSSQL), try:

    INSERT INTO vb_postmeta (
    SELECT null, 
    post_id, 
    'csco_post_video_url' 
    CONCAT('https://www.youtube.com/watch?v=',meta_value
    FROM vb_postmeta)
    
    Login or Signup to reply.
  3. 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

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search