2014-03-25 48 views
0

現在我正在爲Magento產品,類別和屬性集寫一個自定義IMPORT腳本。我知道使用純粹的MySQL和PHP是不好的做法,但目前情況就是這樣。Magento數據庫錯誤:完整性約束違規:1452無法添加或更新子行:外鍵約束失敗

,同時還與我的自定義功能的產品在最初的產品出現這樣的錯誤:

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[23000]: 
Integrity constraint violation: 1452 Cannot add or update a child row: 
a foreign key 
constraint fails (`shopname`.`cataloginventory_stock_status`, CONSTRAINT 
`FK_CATINV_STOCK_STS_STOCK_ID_CATINV_STOCK_STOCK_ID` FOREIGN KEY (`stock_id`) 
REFERENCES `cataloginventory_stock` (`stock_id`) ON DE)' in 
/www/lib/Zend/Db/Statement/Pdo.php:228 
Stack trace: #0 /www/lib/Zend/Db/Statement/Pdo.php(228): 
PDOStatement->execute(Array) #1 
/www/lib/Varien/Db/Statement/Pdo/Mysql.php(110): 
Zend_Db_Statement_Pdo->_execute(Array) #2 
/www/app/code/core/Zend/Db/Statement.php(291): 
Varien_Db_Statement_Pdo_Mysql->_execute(Array) #3 
/www/lib/Zend/Db/Adapter/Abstract.php(479): 
Zend_Db_Statement->execute(Array) #4 
/www/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): 
Zend_Db_Adapter_Abstract->q in 
/www/lib/Zend/Db/Statement/Pdo.php on line 234 

我通過堆棧溢出戳,但找不到合適的「cataloginventory_stock_status'錯誤什麼。

這可能是以前刪除數據集的剩餘數據嗎?

你們能否澄清這個具體的錯誤是關於什麼的?

回答

3

有些代碼可能會有所幫助,但我認爲你正試圖在表中cataloginventory_stock_status插入行和stock_id字段沒有填寫或者是不是在列stock_id表中存在cataloginventory_stock的值。

默認情況下,Magento在cataloginventory_stock表中只有1行,編號爲1(我甚至不知道它是什麼意思)。

將該字段設置爲1,也許它會工作。

+0

是的,你是對的!非常感謝你!這個技巧:-) mysql_query('INSERT INTO cataloginventory_stock SET stock_name = \'Default \';'); –

相關問題