私はたくさんググって、それについて何も見つけることができません!
[root@someday backups]# mysql -u username_1 -p db_1 < tables_to_import/tables.sql
ERROR 1050 (42S01) at line 19: Table 'ps_customer' already exists
mysql -f
同じです。私は単にその.sqlをインポートしてそのテーブルを書き直したいのですが、誰かが私を助けてくれますか?
pSデータベースをエクスポートするときに、オプション "DROP TABLE"を選択できることはわかっていますが、バックアップがある場合、この宣言はありません。どうすれば強制できますか?ありがとう
Mysqldumpを実行する場合、-add-drop-tableを追加します(twihoXと同様)。次に、通常どおりにインポートします。だから次のようなもの:
mysqldump --add-drop-table -u user -p > dumpfile.sql
mysql -u user -p < dumpfile.sql
データベース全体を上書きしようとしていますか?その場合は、すべてのテーブルを手動で削除してから、インポートスクリプトを実行します。これはphpmyadminで簡単に実行できます。 CLIを使用している場合、最も速い方法はDROP DATABASE databasename
を使用してからcreate database
を使用することですが、非rootユーザーに特権を再付与する必要があると思います。
別のオプションは、ダンプファイルを開いて、各CREATE TABLEコマンドの前にDROP TABLE tablename
を追加することです。あなたはおそらくこれをいくつかの賢い正規表現で簡単に行うことができます。
--add-drop-tableオプションをお勧めします。