SQLSTATE [42S02]:ベーステーブルまたはビューが見つかりません:1146テーブル 'core_store'は存在しません


7

私は何時間も解決策を探し続けてきたので、誰かが私を助けてくれるとありがたいですが、それらはすべてかなりあいまいです。

Webサイトにアクセスしようとすると、次のエラーが表示されます。

リクエストの処理中にエラーが発生しましたSQLSTATE [42S02]:ベーステーブルまたはビューが見つかりません:1146テーブル 'shopstel_magento.core_store'が存在しませんトレース:
#0 / home / shopstel / public_html / lib / Zend / Db / Statement。 php(300):Zend_Db_Statement_Pdo-> _ execute(Array)
#1
/home/shopstel/public_html/lib/Zend/Db/Adapter/Abstract.php(479 ):Zend_Db_Statement-> execute(Array)#2 / home / shopstel / public_html / lib / Zend / Db / Adapter / Pdo / Abstract.php(238):Zend_Db_Adapter_Abstract-> query( 'SELECT main_ta ...'、Array)
#3 / home / shopstel / public_html / lib / Varien / Db / Adapter /Pdo/Mysql.php(333):Zend_Db_Adapter_Pdo_Abstract-> query( 'SELECT `main_ta ...'、Array)
#4 /home/shopstel/public_html/lib/Zend/Db/Adapter/Abstract.php(734):Varien_Db_Adapter_Pdo_Mysql-> query(Object(Varien_Db_Select)、Array)
#5 / home / shopstel / public_html / lib / Varien / Data /Collection/Db.php(779):Zend_Db_Adapter_Abstract-> fetchAll(Object(Varien_Db_Select)、Array)
#6 /home/shopstel/public_html/lib/Varien/Data/Collection/Db.php(696 ):Varien_Data_Collection_Db-> _ fetchAll (Object(Varien_Db_Select))
#7 /home/shopstel/public_html/lib/Varien/Data/Collection/Db.php(617):Varien_Data_Collection_Db-> getData()
#8 / home / shopstel / public_html / app / code / core /Mage/Core/Model/Mysql4/Store/Collection.php(137):Varien_Data_Collection_Db-> load(false、false)
#9 /home/shopstel/public_html/lib/Varien/Data/Collection.php(740):Mage_Core_Model_Mysql4_Store_Collection-> load()
#10 / home / shopstel / public_html / app / code / core / Mage / Core / Model / App .php(581):Varien_Data_Collection-> count()
#11 /home/shopstel/public_html/app/code/core/Mage/Core/Model/App.php(429):Mage_Core_Model_App-> _ initStores()
#12 / home /shopstel/public_html/app/code/core/Mage/Core/Model/App.php(335):Mage_Core_Model_App-> _ initCurrentStore( ''、 'store')
#13 /home/shopstel/public_html/app/Mage.php (627):Mage_Core_Model_App-> run(Array)
#14 /home/shopstel/public_html/index.php(80):Mage :: run( ''、 'store')
#15 {メイン}

多くのウェブサイトを読んだ後、Magentoが(何らかの理由で)存在しないテーブルを取得しようとしていることを理解しました。1年ほどウェブサイトを更新または変更しておらず、ホストに昨年のデータベースの復元を依頼したのですが、エラーメッセージがまだ表示されています。

私はコーディングの専門家ではありませんが、特定の指示に従うことができます。Magentoを再インストールせずにエラーを削除したいのですが。また、core_storeが単純なテーブルであることをどこかで読みました。誰かがこの問題を解決するのを手伝ってください。さらに情報が必要な場合はお知らせください。どうもありがとうございました。


ストア内で終了するデータベース内のテーブルの名前を特定できますか?
Melvinn、2015年

申し訳ありませんが、これを行うにはどうすればよいですか?'core_store'の検索機能を使用しましたが、結果は0でした。
shopselle 2015

回答:


4

あなたが探しているテーブルはシンプルなテーブルです。

ホストがデータベースを復元したとき、core_store内部にテーブルがなかったようです。また、テーブルプレフィックスが使用されている場合とされていない場合があります。

最初にこれらを試してください:

  1. データベースをチェックして、core_store使用可能な(またはバリアント)テーブルがあることを確認します。
  2. local.xml設定ファイルが正しいデータベースを指していることを確認してください。
  3. 別の復元ポイントから復元するようにホストに依頼します。
  4. local.xml最近追加または削除されたテーブルプレフィックスがないことを確認してください。

それがうまくいかない場合は、データベース内でいつでも生のSQLを実行できます。

注意してください:生産する前に、これを非生産環境でテストしてください!

コアストアテーブル:

CREATE TABLE `core_store` (
  `store_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Store Id',
  `code` varchar(32) DEFAULT NULL COMMENT 'Code',
  `website_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Website Id',
  `group_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Group Id',
  `name` varchar(255) NOT NULL COMMENT 'Store Name',
  `sort_order` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Store Sort Order',
  `is_active` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Store Activity',
  PRIMARY KEY (`store_id`),
  UNIQUE KEY `UNQ_core_store_CODE` (`code`),
  KEY `IDX_core_store_WEBSITE_ID` (`website_id`),
  KEY `IDX_core_store_IS_ACTIVE_SORT_ORDER` (`is_active`,`sort_order`),
  KEY `IDX_core_store_GROUP_ID` (`group_id`),
  CONSTRAINT `FK_core_store_GROUP_ID_core_store_GROUP_GROUP_ID` FOREIGN KEY (`group_id`) REFERENCES `core_store_group` (`group_id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `FK_core_store_WEBSITE_ID_WBCORE_WEBSITE_WEBSITE_ID` FOREIGN KEY (`website_id`) REFERENCES `wbcore_website` (`website_id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='Stores';

デフォルトのエントリを挿入します。

INSERT INTO `core_store` VALUES (0,'admin',0,0,'Admin',0,1),(1,'default',1,1,'Default Store View',0,1);

'core_store'の検索機能を使用しましたが、結果が0でした。または、特定のフォルダーを調べて、これをより迅速に識別できるようにする必要がありますか?私のホストも以前のデータベース(2か月前)からそれを復元しており、Webサイトは基本的にそのデータベースで「空」です。local.xmlファイルは、数年前から変更されていません。私のホストであなたの生のSQL提案を試して、あなたに戻ります。ご協力いただきありがとうございます!
ショップステ

を作成しようとすると外部キー制約エラーを追加でき
ません

2

何かが変わった。トリックは、物事を再現することで問題を悪化させないことです。var/cacheまず、ドキュメントルートの下のフォルダー(index.phpとappフォルダーがあるフォルダーです。var/cache存在し、のようなサブフォルダーがある場合はmage---*、に名前var/cacheを変更しvar/cache.oldます。これで問題が解決するかどうかをテストします。

そうでない場合は、データベースとの対話に使用できるツールを指定してください。たとえば、ホスティング業者はphpMyadminツールを提供していますか?

レポートからわかったこと 2か月間サイトにアクセスしていないか、外部キャッシュで実行されていて、誰も注文を試みていない限り、テーブルが欠落していることはほとんどありません。

テーブル定義が見つかるか、DDLキャッシュにキャッシュされること。Magentoがデータベーステーブルにクエリを実行すると、テーブルの定義がDDLキャッシュ(データ定義言語)に保存されます。

データベースへの接続が機能していること、またはデータベースへのアクセスが拒否されていること、無効なアダプター、または無効なユーザー名とパスワードの組み合わせについてのメッセージがあること。

考えられる原因

  • キャッシュの破損
  • 「.frm」ファイルの定義が変更されていない間、「ibdata」ファイルの破損により、MySQLがデータを検出できなくなります。
    • Local.xmlが変更され、プレフィックスが削除されましたが、ファイルのタイムスタンプはそれを反映していません。

1

データベースのバックアップがある場合core_storeは、テーブルデータベースが見つからないため、そのデータベースを復元してください。私は100%問題が解決されると確信しています。


0

var / cacheフォルダーをクリアすると、この問題はすぐに解決しました。:)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.