2016-12-22 7 views
0

私はデータベースダンプを共有するためにmysqldumpを使用していますが、私はトリガに問題があります。それはだと言って私は、フォーラムの人々に読んだトリガのないMysqldump

ERROR 1359 (HY000) at line 1420: Trigger already exists 

:コマンドが「ドロップ」またはトリガーで行を「置き換え」、すでに名前がエラーを持つトリガーと同じで、前のダンプを追加したユーザーを作っ追加しませんmysqlの機能が不足していますが、すべての投稿が古いので、今はそれができる方法があるのだろうかと思います。

私はスキーマとデータを別々にダンプする方法があると知っていますが、共有するために1つのダンプを保持したいと思います。

+0

1つの方法は、rhinocerosメソッドを使用することです:手作業でダンプを編集し、CREATE TRIGGER構文を見つける場所にIF EXISTSを追加します。 – Mihai

答えて

0

バージョンを指定しません。 mysqldump 5.6以上は--add-drop-triggerオプションです。

+0

あなたは正しいです、私はmysql 5.7を使用しています。私はそれを使用してもまだ同じエラーが発生しています –

+0

@ Jean-LoupBecquetそれは合わない。ただし、同じトリガー*名前*を以前は別のテーブルで使用していた場合は、説明することができます。 Trigger * names *は単一のスキーマ内のすべてのテーブルで一意でなければなりません。つまり、テーブルt1とt2の両方で同じ名前のトリガを持つことはできず、mysqldumpはターゲット上にあるものを予期できません。 –

関連する問題