SQL 将修改后的值从一个字段插入到新字段
SQL insert modified value from one field to a new one
我的问题是我不知道 SQL 查询但需要做一些我认为不难的事情。我已经尝试了一些推荐的问题,但我真的不明白如何将其推断到我的案例中,希望你能帮助我。
基本上我需要的是在 table 中创建一些行,并用
同一 table 中其他行的值,我会尽量做到非常具体。
我有一个 table ( vb_postmeta ) 有很多行,其中一些看起来像这样:
meta_id
post_id
meta_key
meta_value
1434
500
bpxl_videourl
lOO6hyOKoUM
1435
501
bpxl_videourl
skjd9F008mN
我在这里需要的是,为每一行创建一个如下所示的新行:
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是关键,所以应该自动生成,而post_id应该是一样的并且 meta_value 也应该与 Youtube URL 前置相同的值。
我真的不知道这有多难,但希望不要太多,
在此先感谢您的帮助,为此苦苦挣扎。
假设您的 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)
根据您的问题,我假设您需要将新行插入到相同的 table - vb_postmeta .
为此,
插入 vb_postmeta (post_id,meta_key,meta_value)
SELECT
post_id,meta_key,''meta_value
'https://www.youtube.com/watch?v='+姓名
来自 vb_postmeta
根据建议的答案,我最终使用了这个:
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'
)
我的问题是我不知道 SQL 查询但需要做一些我认为不难的事情。我已经尝试了一些推荐的问题,但我真的不明白如何将其推断到我的案例中,希望你能帮助我。
基本上我需要的是在 table 中创建一些行,并用 同一 table 中其他行的值,我会尽量做到非常具体。
我有一个 table ( vb_postmeta ) 有很多行,其中一些看起来像这样:
meta_id | post_id | meta_key | meta_value |
---|---|---|---|
1434 | 500 | bpxl_videourl | lOO6hyOKoUM |
1435 | 501 | bpxl_videourl | skjd9F008mN |
我在这里需要的是,为每一行创建一个如下所示的新行:
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是关键,所以应该自动生成,而post_id应该是一样的并且 meta_value 也应该与 Youtube URL 前置相同的值。
我真的不知道这有多难,但希望不要太多,
在此先感谢您的帮助,为此苦苦挣扎。
假设您的 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)
根据您的问题,我假设您需要将新行插入到相同的 table - vb_postmeta .
为此,
插入 vb_postmeta (post_id,meta_key,meta_value) SELECT post_id,meta_key,''meta_value 'https://www.youtube.com/watch?v='+姓名 来自 vb_postmeta
根据建议的答案,我最终使用了这个:
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'
)