我的問題是我對 SQL 查詢一無所知,但需要做一些我認為應該不難的事情。我已經嘗試了一些推薦的問題,但我真的不明白如何將其推斷到我的案例中,希望你能幫助我。
基本上我需要的是在一個表中創建一些行,并用同一個表中其他行的值填充它們的欄位,我將嘗試非常具體。
我有一個包含很多行的表(vb_postmeta),其中一些看起來像這樣:
| meta_id | post_id | 元密鑰 | 元值 |
|---|---|---|---|
| 1434 | 500 | bpxl_videourl | lOO6hyOKoUM |
| 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。
我真的不知道這有多難,但希望不要太多,
在此先感謝您的幫助,為此苦苦掙扎。
uj5u.com熱心網友回復:
按照建議的答案,我最終使用了這個:
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'
)
uj5u.com熱心網友回復:
假設您的 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)
uj5u.com熱心網友回復:
根據您的問題,我假設您需要將新行插入同一個表 - vb_postmeta 。
為了這,
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
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/476571.html
標籤:mysql sql phpmyadmin 玛丽亚数据库
上一篇:使用H2DB和SQL遞回分割路徑
下一篇:將資料從聚合級別更改為細粒度級別
