mariadb SQL将修改后的值从一个字段插入到新字段

wnavrhmk  于 2022-11-08  发布在  其他
关注(0)|答案(3)|浏览(202)

我的问题是,我对SQL查询一无所知,但需要做一些我认为应该不难的事情。我试过一些推荐的问题,但我真的不明白如何将其推广到我的情况,希望你能帮助我。
基本上,我需要的是在表中创建一些行,并使用同一表中其他行的值填充它们的字段,我将尽量具体一些。
我有一个表(vb_postmeta),其中包含许多行,其中一些行如下所示:
| 元标识|帖子标识|元密钥|元值|
| - -|- -|- -|- -|
| 小行星1434| 500个|bpxl_视频资源|1006磅|
| 小行星1435|五零一|bpxl_视频资源|skjd 9 F008 mN(千牛顿)|
这里我需要为每一行创建一个新行,如下所示:
| 元标识|帖子标识|元密钥|元值|
| - -|- -|- -|- -|
| 自动模式|500个|csco_发布_视频_url| https://www.youtube.com/watch?v=lOO6hyOKoUM|
| 自动模式|五零一|csco_发布_视频_url| https://www.youtube.com/watch?v=skjd9F008mN|

meta_id是关键字,因此应自动生成,而post_id应相同,meta_value也应具有与预先添加的Youtube URL相同的值。

我真的不知道这有多难,但希望不要太多,
提前感谢你的帮助,我一直在为这件事挣扎。

m4pnthwp

m4pnthwp1#

按照建议的答案,我最终使用了这个:

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

v1uwarro2#

假设您的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)
41ik7eoe

41ik7eoe3#

根据您的问题,我假设您需要在同一个表- vb_postmeta中插入新行。
为此,
INSERT INTO vb_postmeta(帖子标识,元关键字,元值)SELECT帖子标识,元关键字,''元值'https://www.youtube.com/watch?v ='+名称FROM vb_postmeta

相关问题