私たちのデータベースには、エンティティにファイルが追加されることがあるため、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_id
table_name
id table_name rel_id entity_name file
234 documents 123 document1 fdjie.txt
235 buildings 789 building1 sgrfe.txt
'employee1' にはファイルがないため、もちろんそのファイルの挿入はありません。
これどうやってするの?サブセレクトで挿入ステートメントを試しましたが、ループのようなものが必要であることに気付きました。MySQLでこれを行うことはできますか?