0

解決方法がわからない問題があります。

私の問題を単純化するために、リンク付きの表があります。

    fk linkid リンク
    1 1 www.stackoverflow.com
    1 2 www.google.com
    1 3 www.cnn.com
    2 4 www.other.com

次に、ユーザーがこれらのキーを挿入できる文字列列を持つ別のテーブルがあり、それらを置き換える必要があります。L1 のように、L{a number} のようなキーを入力します。次に、「L1」をリンク ID 1 に置き換える必要があります。

    id string_column
    1 「こんにちは、私の最初のリンクは {L1] です。追加テキスト {L1} {L1} {L3} {L2}」
    2 "ここに行きます: {L4}"

したがって、ID 1 で参加すると、次のようになります。

    id linkid リンク string_column
    1 1 www.stackoverflow.com 「こんにちは、私の最初のリンクは {L1] です。詳細は {L1} {L1} {L3} {L2} です」
    1 2 www.google.com 「こんにちは、私の最初のリンクは {L1] です。テキスト {L1} {L1} {L3} {L2} を追加してください」
    1 3 www.cnn.com 「こんにちは、私の最初のリンクは {L1] です。テキスト {L1} {L1} {L3} {L2} を追加してください」

私が取得したいものは次のとおりです。

    id string_column
    1 「こんにちは、私の最初のリンクは www.stackoverflow.com です。詳細テキスト www.stackoverflow.com www.stackoverflow.com www.cnn.com www.google.com」

そのようなSQLを書くことはmysqlで可能ですか?上記のように、1 つの列を置換する必要がありますが、複数の行から値を取得してから、ID ごとに 1 つだけを返します。

システムはすでにそのままなので、セットアップを変更することはできませんが、これを正しく行う方法を見つける必要があります。

4

1 に答える 1

0

私がこれを行う唯一の方法は、すべての文を取り出し、Lから数字を切り取り、対応するリンクを検索し、すべての{L1}をそのリンクに置き換える作業を行うスクリプトです。次に、dbを新しい文字列で更新します。

于 2012-12-16T20:03:45.300 に答える