首頁  >  問答  >  主體

將在SQL中將一個欄位的修改值插入到新欄位中

我的問題是我對 SQL 查詢一無所知,但需要做一些我認為應該不難的事情。我已經嘗試了一些推薦的問題,但我只是無法真正理解如何將其推斷到我的案例,希望你能幫助我。

基本上我需要的是在表中建立一些行,並使用 來自同一個表中其他行的值,我會嘗試非常具體。


我有一個包含很多行的表(vb_postmeta),其中一些看起來像這樣:

meta_id post_id 元金鑰 元值
1434 500 bpxl_videourl#1006hyOKoUM
1435 501 bpxl_videourl#skjd9F008mN

我在這裡需要的是,為每一行建立一個如下所示的新行:

meta_id post_id 元金鑰 元值
自動 500 csco_post_video_url##https://www.youtube.com/watch?v=lOO6hyOKoUM
#自動 501 csco_post_video_url##https://www.youtube.com/watch?v=skjd9F008mN

meta_id 是關鍵,因此應該自動生成,而 post_id 應該相同,meta_value 也應該具有相同的值前面附加了 Youtube URL。

我真的不知道這有多難,但希望不要太大,

預先感謝您的幫助,並一直在為此苦苦掙扎。

P粉790187507P粉790187507213 天前379

全部回覆(2)我來回復

  • P粉696891871

    P粉6968918712024-03-21 09:40:23

    假設您的meta_id是AI(自動遞增)並使用mySQL(MSSQL的小改動),請嘗試:

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

    回覆
    0
  • P粉151720173

    P粉1517201732024-03-21 09:06:38

    根據建議的答案,我最終使用了這個:

    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'
    )

    回覆
    0
  • 取消回覆