何百もの行をデータベースに挿入するための純粋な MySQL メソッドを探しています。次のような大まかなスキーマを持つアプリケーションの翻訳を扱っています。
Translations
| site ID | translation ID | translation value |
------------------------------------------------
| ... | ... | ... |
Sites
| site ID | language code | ...
---------------------------------
| ... | ... | ...
問題は、テーブルの外部キーが言語コードではない同じ言語で数百の翻訳があることです (私はレガシー システムを使用しているため、これを変更することはできません)。
SET @keys = ("key1", "key2", ...)
とにかく、INSERTステートメントの行に沿って何かを実行してループすることができますか?
説明:
さまざまなサイトの翻訳を含む表があります。Sites テーブルに新しいサイトが追加されました。現在、これらの翻訳を追加しています。
翻訳テーブルは language_code ではなく site_id に基づいているため、複数のサイトに同じ翻訳を追加する必要があります。いくつかの異なる site_id に対して挿入する必要がある約 100 の翻訳があり、これは後で再利用されるため、手動で行うのは現実的ではありません。