1

mysql ダンプをエクスポートするときに、すべてのテーブルにテキストを追加することは可能ですか?

例:テーブルに名前が付けられている場合、その前に追加しchaptersたいold_ので、old_chapters

4

1 に答える 1

1

sedスキーマの複雑さによっては、すべてのテーブル参照を検索し、テーブル名の前に「old_」を追加する慎重に作成されたコマンドを使用して、これを達成できる場合があります。

たとえば、次のコマンドはスキーマとデータをダンプし、old_ プレフィックスを drop/create table ステートメント、lock/alter table および insert ステートメントに追加します。

mysqldump your_schema | sed -e 's/DROP TABLE IF EXISTS `/DROP TABLE IF EXISTS `old_/' -e 's/CREATE TABLE `/CREATE TABLE `old_/' -e 's/INSERT INTO `/INSERT INTO `old_/' -e 's/LOCK TABLES `/LOCK TABLES `old_/' -e 's/ALTER TABLE `/ALTER TABLE `old_/'

ただし、このコマンドは、次のタイプのテーブル参照のテーブル プレフィックスを追加しません。

  • 外部キー制約
  • ビュー
  • トリガー
  • 保存されたルーチン
于 2012-04-04T20:11:31.623 に答える