2017-11-20 2 views
0

다음은 권한> 사용자 아래에있는 사용자에게 REST 역할을 추가하려고 할 때 발생합니다. 생성 된 모든 사용자와 캐싱을 사용하지 못하도록 시도했지만 여전히 동일한 문제가 발생합니다.무결성 제약 조건 위반 Magneto v1.9 사용자에게 REST 역할 추가

모든 해결책이 유용 할 것입니다.

SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`mag_db`.`api2_acl_user`, CONSTRAINT `FK_API2_ACL_USER_ADMIN_ID_ADMIN_USER_USER_ID` FOREIGN KEY (`admin_id`) REFERENCES `admin_user` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE), query was: INSERT INTO `api2_acl_user` (`admin_id`, `role_id`) VALUES (?, ?) 

Trace: 
#0 /home/public_html/lib/Varien/Db/Statement/Pdo/Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array) 
#1 /home/public_html/app/code/core/Zend/Db/Statement.php(291): Varien_Db_Statement_Pdo_Mysql->_execute(Array) 
#2 /home/public_html/lib/Zend/Db/Adapter/Abstract.php(480): Zend_Db_Statement->execute(Array) 
#3 /home/public_html/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('INSERT INTO `ap...', Array) 
#4 /home/public_html/lib/Varien/Db/Adapter/Pdo/Mysql.php(504): Zend_Db_Adapter_Pdo_Abstract->query('INSERT INTO `ap...', Array) 
#5 /home/public_html/lib/Zend/Db/Adapter/Abstract.php(576): Varien_Db_Adapter_Pdo_Mysql->query('INSERT INTO `ap...', Array) 
#6 /home/public_html/app/code/core/Mage/Api2/Model/Resource/Acl/Global/Role.php(74): Zend_Db_Adapter_Abstract->insert('api2_acl_user', Array) 
#7 /home/public_html/app/code/core/Mage/Api2/Model/Observer.php(56): Mage_Api2_Model_Resource_Acl_Global_Role->saveAdminToRoleRelation('4', '4') 
#8 /home/public_html/app/code/core/Mage/Core/Model/App.php(1358): Mage_Api2_Model_Observer->saveAdminToRoleRelation(Object(Varien_Event_Observer)) 
#9 /home/public_html/app/code/core/Mage/Core/Model/App.php(1337): Mage_Core_Model_App->_callObserverMethod(Object(Mage_Api2_Model_Observer), 'saveAdminToRole...', Object(Varien_Event_Observer)) 
#10 /home/public_html/app/Mage.php(448): Mage_Core_Model_App->dispatchEvent('admin_user_save...', Array) 
#11 /home/app/code/core/Mage/Core/Model/Abstract.php(466): Mage::dispatchEvent('admin_user_save...', Array) 
#12 /home/app/code/core/Mage/Core/Model/Abstract.php(319): Mage_Core_Model_Abstract->_afterSave() 
#13 /home/public_html/app/code/core/Mage/Adminhtml/controllers/Permissions/UserController.php(141): Mage_Core_Model_Abstract->save() 
#14 /home/public_html/app/code/core/Mage/Core/Controller/Varien/Action.php(418): Mage_Adminhtml_Permissions_UserController->saveAction() 
#15 /home/public_html/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(254): Mage_Core_Controller_Varien_Action->dispatch('save') 
#16 /home/public_html/app/code/core/Mage/Core/Controller/Varien/Front.php(172): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http)) 
#17 /home/public_html/app/code/core/Mage/Core/Model/App.php(365): Mage_Core_Controller_Varien_Front->dispatch() 
#18 /home/public_html/app/Mage.php(684): Mage_Core_Model_App->run(Array) 
#19 /home/public_html/index.php(83): Mage::run('', 'store') 
#20 {main} 

답변

0

서버에서 테이블을 삭제하고 테이블의 백업 버전을 다시 가져 왔습니다. 외래 키 제약 조건이 손상되거나 손상 될 가능성이 높으므로 대체가 필요합니다.

0

데이터베이스 무결성이 엉망입니다. 누군가가 사용자를 생성 또는 삭제했거나 외래 키 검사가 해제 된 상태에서 db 내에서 바로 사용 권한을 얻은 경우에 발생할 수 있습니다.

+0

어떻게 해결할 수 있습니까? – cweitat

+0

magento 데이터베이스 복구 도구를 사용해보십시오. http://docs.magento.com/m1/ce/user_guide/magento/database-repair-tool.html –

관련 문제