私たちのデータベースには、エンティティにファイルが追加されることがあるため、fileディスク上のそのファイルの名前を格納する列があるテーブルがいくつかあります。
id entity_name file
123 document1 fdjie.txt (from table documents)
456 employee1 null (from table employees)
789 building1 sgrfe.txt (from table buildings)
列が入力されfilesているすべてのエンティティを「コピー」する必要がある新しいテーブルを作成しました。file最終的にfile、すべての元のテーブルから列を削除します。
テーブルには、元のテーブルの列とfilesも必要です。rel_idtable_name
id table_name rel_id entity_name file
234 documents 123 document1 fdjie.txt
235 buildings 789 building1 sgrfe.txt
'employee1' にはファイルがないため、もちろんそのファイルの挿入はありません。
これどうやってするの?サブセレクトで挿入ステートメントを試しましたが、ループのようなものが必要であることに気付きました。MySQLでこれを行うことはできますか?