2

我有一个非常简单的表(id、name、parent),它代表一棵树。我想在测试这个表时使用 dbunit,所以我为 2 个节点创建了一个简单的数据集(为了便于阅读,使用 yaml 而不是 xml):

node:
  - id: 1
    name: default
    parent: null
  - id: 2
    name: default-child
    parent: 1

这可以正确插入,但是当尝试清理表时(我正在使用 DatabaseOperation.CLEAN_INSERT),它会导致违反约束:

com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException:无法删除或更新父行:外键约束失败(节点,CONSTRAINT FK_NODE.PARENT_TO_NODE.ID FOREIGN KEY (parent) REFERENCES node (id))

4

1 回答 1

2

我找到了一种解决方法:在 mysql 上使用 truncate_table 操作而不是温和的清洁操作对我有用

于 2011-03-14T13:03:33.797 回答