首页  >  问答  >  正文

将在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 天前382

全部回复(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
  • 取消回复