cari

Rumah  >  Soal Jawab  >  teks badan

Masukkan nilai diubah suai satu medan ke dalam medan baharu dalam SQL

Masalah saya ialah saya tidak tahu apa-apa tentang pertanyaan SQL tetapi perlu melakukan sesuatu yang saya fikir tidak sepatutnya sukar. Saya telah mencuba beberapa soalan yang disyorkan tetapi saya tidak benar-benar memahami cara mengekstrapolasinya kepada kes saya, harap anda boleh membantu saya.

Pada asasnya apa yang saya perlukan ialah mencipta beberapa baris dalam jadual dan menggunakan Nilai daripada baris lain dalam jadual yang sama, saya akan cuba untuk menjadi sangat spesifik.


Saya mempunyai jadual (vb_postmeta) dengan banyak baris, beberapa daripadanya kelihatan seperti ini:

meta_id post_id Meta Key Nilai yuan
1434 500 bpxl_videourl 1006hyOKOUM
1435 501 bpxl_videourl skjd9F008mN

Apa yang saya perlukan di sini ialah, untuk setiap baris, buat baris baharu seperti ini:

meta_id post_id Meta Key Nilai yuan
Automatik 500 csco_post_video_url https://www.youtube.com/watch?v=lOO6hyOKOUM
Automatik 501 csco_post_video_url https://www.youtube.com/watch?v=skjd9F008mN

meta_id ialah kunci dan oleh itu harus dijana secara automatik, manakala post_id hendaklah sama dan meta_value juga harus mempunyai nilai yang sama dengan URL Youtube yang dilampirkan di hadapan.

Saya benar-benar tidak tahu betapa sukarnya, tetapi saya harap ia tidak terlalu sukar,

Terima kasih terlebih dahulu untuk sebarang bantuan, telah bergelut dengan ini.

P粉790187507P粉790187507289 hari yang lalu439

membalas semua(2)saya akan balas

  • P粉696891871

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

    Andaikan meta_id anda ialah AI (auto-increment) dan menggunakan mySQL (pengubahsuaian kecil MSSQL), cuba:

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

    balas
    0
  • P粉151720173

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

    Berdasarkan jawapan yang dicadangkan, saya akhirnya menggunakan ini:

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

    balas
    0
  • Batalbalas