0

カテゴリフラットデータのインデックスを再作成しようとしていますが、常に同じエラーが発生します。

There was a problem with reindexing process. Error Message: SQLSTATE[HY000]: General error: 1005 Can't create table 'xxx.catalog_category_flat_store_6' (errno: 121)

テーブルは存在せず、1と7があります。それが違いを生むかどうかわかりませんか?

phpMyAdminを介して手動でクエリを実行した後、MySQLエラー121が発生しました。確認したところ、作成しようとしている外部キーの名前がす​​でに存在していることがわかります。現在、DBにすべての外部キーをリストしましたが、それらはまったく存在しません。

詳細については、DBでSHOW ENGINE INNODB STATUSを実行してみましたが、明らかにそれを表示する権限がありません。

4

2 に答える 2

1

SHOW INNODB STATUSを実行できるようにprivを更新した後、この新しいテーブルで複製しようとしている既存のインデックスがすでに存在することがわかりました。これは、作成しようとしていた古いバージョンのテーブルをバックアップしたことが原因です。テーブルのそのコピーを削除すると、Magentoが適切にインデックスを再作成できるようになり、問題が解決しました。

于 2013-03-14T16:20:58.470 に答える
0

sqlコマンドをログに記録し、それらを手動で実行して、実行しようとしていることをデバッグしてみてください。インデックス作成プロセスでは、通常、テーブルをクリアするコマンドと、テーブルを再作成するコマンドがあります。

/magentoRoot/lib/Varien/Db/Adapter/Pdo/Mysql.phpを編集し、$ _ debugをtrueに変更して、$ _ debugFileの場所(var / debug / pdo_mysql.logである必要があります)をメモします。

viでファイルを編集し、ブラウザを開いてカテゴリデータのインデックスを再作成し、ファイルをvi:wに保存するのが最善です。次に、インデクサーを実行してから、デバッグをfalseに戻します。

次に、ログを読みに行きます。それは役立つかもしれません。

于 2013-02-28T13:50:49.367 に答える