使用时出现此错误 MariaDB Connector/ODBC
与 nHibernate
连接 MySql
数据库
odbcexception:错误[23000][ma-3.0.3][5.7.12]无法添加或更新子行:外键约束失败( database
. ChildTable
,约束 FK_ChildTable_ParentTable
外键( Id
)参考文献 ParentTable
( Id
))
我们有两个表,父表和子表。两个表都链接了外键关系。下面的nhibernateMap文件。
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="Xxx.Yyy.Domain" assembly="Xxx.Yyy">
<class name="Xxx.Yyy.Domain.Parent, Xxx.Yyy" table="Parent" lazy="false">
<id name="ParentId" column="ParentId" type="integer">
<generator class="native" />
</id>
<property name="Name" column="Name" type="string" not-null="true"/>
<property name="Description" column="Description" type="string" not-null="false"/>
</class>
<class name="Xxx.Yyy.Domain.Child, Xxx.Yyy" table="Child" lazy="false">
<id name="ChildId" column="ChildId" type="integer">
<generator class="native" />
</id>
<many-to-one name="Parent" not-null="true" column="ParentId" class="Xxx.Yyy.Domain.Parent, Xxx.Yyy" cascade="save-update" lazy="proxy" />
<property name="Name" column="Name" type="string" not-null="true"/>
<property name="Description" column="Description" type="string" not-null="false"/>
</class>
创建父记录时,父记录被插入两次。
在父表创建期间插入到父表中的第一条记录。
在创建子表的过程中,具有相同详细信息的第二条记录也被插入到父表中。
但同样的代码工作良好,当我使用其他驱动程序,如 MySqlDataDriver
. 仅在使用时看到错误 MariaDB Connector/ODBC
暂无答案!
目前还没有任何答案,快来回答吧!