suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Fügen Sie den geänderten Wert eines Felds in ein neues Feld in SQL ein

Mein Problem ist, dass ich nichts über SQL-Abfragen weiß, aber etwas tun muss, von dem ich denke, dass es nicht schwierig sein sollte. Ich habe einige der empfohlenen Fragen ausprobiert, aber ich verstehe einfach nicht, wie ich sie auf meinen Fall übertragen soll. Ich hoffe, Sie können mir helfen.

Grundsätzlich muss ich einige Zeilen in einer Tabelle erstellen und verwenden Bei Werten aus anderen Zeilen in derselben Tabelle würde ich versuchen, sehr spezifisch zu sein.


Ich habe eine Tabelle (vb_postmeta) mit vielen Zeilen, einige davon sehen so aus:

meta_id post_id Meta-Schlüssel Yuan-Wert
1434 500 bpxl_videourl 1006hyOKoUM
1435 501 bpxl_videourl skjd9F008mN

Was ich hier brauche, ist, für jede Zeile eine neue Zeile wie folgt zu erstellen:

meta_id post_id Meta-Schlüssel Yuan-Wert
Automatisch 500 csco_post_video_url https://www.youtube.com/watch?v=lOO6hyOKoUM
Automatisch 501 csco_post_video_url https://www.youtube.com/watch?v=skjd9F008mN

meta_id ist der Schlüssel und sollte daher automatisch generiert werden, während post_id derselbe sein sollte und meta_value ebenfalls den gleichen Wert haben sollte, wobei die Youtube-URL vorangestellt sein sollte.

Ich weiß wirklich nicht, wie schwer es ist, aber ich hoffe, es ist nicht zu schwer,

Vielen Dank im Voraus für jede Hilfe, ich habe damit zu kämpfen.

P粉790187507P粉790187507289 Tage vor438

Antworte allen(2)Ich werde antworten

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

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

    Antwort
    0
  • StornierenAntwort