【发布时间】:2010-12-22 10:29:38
【问题描述】:
我的情况可能有点不正常,但我在 MySQL 数据库中定义了外键,同时在 Zend_Db_Table 类中强制执行引用完整性。这些表使用 InnoDB 存储引擎。
删除记录时,Zend 框架将通过表模型中的$_referenceMap 正确识别直接子级并删除它们。但是,如果有直接孩子的任何孩子,我会从数据库中收到关于违反该外键的引用完整性的错误:SQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key constraint fails。 Zend_Db_Table_Abstract 似乎没有以递归方式强制执行引用完整性。
有没有其他人遇到过这种情况?是Zend Framework bug吗?解决方法?修复?
更新
将近一周后,我没有回答这个问题。我想我必须自己扩展 Zend_Db_Table_Row_Abstract 类来完成这个。
【问题讨论】:
-
@OMG Ponies:感谢您添加
mysql-error-1451标签
标签: mysql zend-framework zend-db-table referential-integrity mysql-error-1451