2

magento を 1.6.2 から 1.7 に更新しました。すべてがスムーズに進み、どうやらサイトは問題なく動作しているようです。ただし、製品価格を再計算できません。テーブルの 1 つに列がないようです。私が得たシェルツールを試しました:

Product Prices index process unknown error:
exception 'PDOException' with message 'SQLSTATE[21S01]: Insert value list does not match column list: 1136 Column count doesn't match value count at row 1' in /home/thelittl/public_html/asia/lib/Zend/Db/Statement/Pdo.php:228
Stack trace:
#0 /home/thelittl/public_html/asia/lib/Zend/Db/Statement/Pdo.php(228): PDOStatement->execute(Array)
#1 /home/thelittl/public_html/asia/lib/Varien/Db/Statement/Pdo/Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array)
#2 /home/thelittl/public_html/asia/lib/Zend/Db/Statement.php(300): Varien_Db_Statement_Pdo_Mysql->_execute(Array)
#3 /home/thelittl/public_html/asia/lib/Zend/Db/Adapter/Abstract.php(479): Zend_Db_Statement->execute(Array)
#4 /home/thelittl/public_html/asia/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('INSERT INTO `ca...', Array)
#5 /home/thelittl/public_html/asia/lib/Varien/Db/Adapter/Pdo/Mysql.php(419): Zend_Db_Adapter_Pdo_Abstract->query('INSERT INTO `ca...', Array)
#6 /home/thelittl/public_html/asia/app/code/community/Brim/Groupedoptions/Model/Resource/Eav/Mysql4/Product/Indexer/Price/Grouped.php(76): Varien_Db_Adapter_Pdo_Mysql->query('INSERT INTO `ca...')
#7 /home/thelittl/public_html/asia/app/code/core/Mage/Catalog/Model/Resource/Product/Indexer/Price/Grouped.php(48): Brim_Groupedoptions_Model_Resource_Eav_Mysql4_Product_Indexer_Price_Grouped->_prepareGroupedProductPriceData()
#8 /home/thelittl/public_html/asia/app/code/core/Mage/Catalog/Model/Resource/Product/Indexer/Price.php(385): Mage_Catalog_Model_Resource_Product_Indexer_Price_Grouped->reindexAll()
#9 /home/thelittl/public_html/asia/app/code/core/Mage/Index/Model/Indexer/Abstract.php(143): Mage_Catalog_Model_Resource_Product_Indexer_Price->reindexAll()
#10 /home/thelittl/public_html/asia/app/code/core/Mage/Index/Model/Process.php(209): Mage_Index_Model_Indexer_Abstract->reindexAll()
#11 /home/thelittl/public_html/asia/app/code/core/Mage/Index/Model/Process.php(255): Mage_Index_Model_Process->reindexAll()
#12 /home/thelittl/public_html/asia/shell/indexer.php(158): Mage_Index_Model_Process->reindexEverything()
#13 /home/thelittl/public_html/asia/shell/indexer.php(198): Mage_Shell_Compiler->run()
#14 {main}

Next exception 'Zend_Db_Statement_Exception' with message 'SQLSTATE[21S01]: Insert value list does not match column list: 1136 Column count doesn't match value count at row 1' in /home/thelittl/public_html/asia/lib/Zend/Db/Statement/Pdo.php:234
Stack trace:
#0 /home/thelittl/public_html/asia/lib/Varien/Db/Statement/Pdo/Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array)
#1 /home/thelittl/public_html/asia/lib/Zend/Db/Statement.php(300): Varien_Db_Statement_Pdo_Mysql->_execute(Array)
#2 /home/thelittl/public_html/asia/lib/Zend/Db/Adapter/Abstract.php(479): Zend_Db_Statement->execute(Array)
#3 /home/thelittl/public_html/asia/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('INSERT INTO `ca...', Array)
#4 /home/thelittl/public_html/asia/lib/Varien/Db/Adapter/Pdo/Mysql.php(419): Zend_Db_Adapter_Pdo_Abstract->query('INSERT INTO `ca...', Array)
#5 /home/thelittl/public_html/asia/app/code/community/Brim/Groupedoptions/Model/Resource/Eav/Mysql4/Product/Indexer/Price/Grouped.php(76): Varien_Db_Adapter_Pdo_Mysql->query('INSERT INTO `ca...')
#6 /home/thelittl/public_html/asia/app/code/core/Mage/Catalog/Model/Resource/Product/Indexer/Price/Grouped.php(48): Brim_Groupedoptions_Model_Resource_Eav_Mysql4_Product_Indexer_Price_Grouped->_prepareGroupedProductPriceData()
#7 /home/thelittl/public_html/asia/app/code/core/Mage/Catalog/Model/Resource/Product/Indexer/Price.php(385): Mage_Catalog_Model_Resource_Product_Indexer_Price_Grouped->reindexAll()
#8 /home/thelittl/public_html/asia/app/code/core/Mage/Index/Model/Indexer/Abstract.php(143): Mage_Catalog_Model_Resource_Product_Indexer_Price->reindexAll()
#9 /home/thelittl/public_html/asia/app/code/core/Mage/Index/Model/Process.php(209): Mage_Index_Model_Indexer_Abstract->reindexAll()
#10 /home/thelittl/public_html/asia/app/code/core/Mage/Index/Model/Process.php(255): Mage_Index_Model_Process->reindexAll()
#11 /home/thelittl/public_html/asia/shell/indexer.php(158): Mage_Index_Model_Process->reindexEverything()
#12 /home/thelittl/public_html/asia/shell/indexer.php(198): Mage_Shell_Compiler->run()
#13 {main}

これがサイトにどのように影響しているかはわかりませんが、何らかの形で影響している場合.

4

2 に答える 2

4

これは列の欠落の問題ではない可能性があります。最も Insert value list does not match column list頻繁に発生するのは、誰かがデータベース抽象化レイヤーに、配列が必要な場合に文字列を渡すか、文字列が必要な場合に配列を渡す場合です。

誰か (おそらくあなた) がカスタム コードを

Brim_Groupedoptions

モジュール。私の推測では、インデックス作成プロセスで使用されるリソース モデルの 1 つをクラスで書き直すことになるでしょう。app/code/community/Brim/Groupedoptions/Model/Resource/Eav/Mysql4/Product/Indexer/Price/Grouped.php のクエリを確認します

オンライン76では、正しい数の列が渡されているか、リソース モデル メソッドが正しく使用されています。

于 2012-05-07T01:41:41.447 に答える
3

答えてくれてありがとう、私はクエリをデバッグし、私の問題に問題を見つけました。多分それは他の誰かを助けるでしょう. 私が変更され:

アプリ/コード/コミュニティ/ブリム/Groupedoptions/モデル/リソース/Eav/Mysql4/製品/インデクサー/価格/Grouped.php

55 行目あたりで、考慮されていない列に別の引数を追加します。

'group_price'  => new Zend_Db_Expr('NULL')

そして完了!

于 2012-05-07T01:43:27.473 に答える