Я делаю проект, который использует реализацию MDB2.
Я хочу установить внешний ключ в XML-файле схемы.
Есть только 3 таблицы: студент, курс и зачисление, где зачисление служит связующим звеном.
Вот мой xml-файл для зачисления.
<database>
<name>mdb2_schema_demo</name>
<charset>utf8</charset>
<description>A database to demo MDB2 schema sync</description>
<table>
<name>enrollment</name>
<declaration>
<field>
<name>id</name>
<type>integer</type>
<notnull>1</notnull>
<autoincrement>1</autoincrement>
<unsigned>1</unsigned>
<length>8</length>
<description>A unique running number to identify enrollment</description>
</field>
<field>
<name>student_id</name>
<type>integer</type>
<notnull>0</notnull>
<unsigned>1</unsigned>
<length>8</length>
<description>Foreign key refer to student</description>
</field>
<field>
<name>course_id</name>
<type>integer</type>
<notnull>0</notnull>
<unsigned>1</unsigned>
<length>8</length>
<description>Foreign key refer to course</description>
</field>
<index>
<name>pk_enrollment</name>
<unique>1</unique>
<primary>1</primary>
<field>
<name>id</name>
<sorting>ascending</sorting>
</field>
</index>
<foreign>
<name>fk_student_enrollment</name>
<field>student_id</field>
<references>
<table>student</table>
<field>id</field>
</references>
<ondelete>restrict</ondelete>
<onupdate>cascade</onupdate>
</foreign>
<foreign>
<name>fk_course_enrollment</name>
<field>course_id</field>
<references>
<table>course</table>
<field>id</field>
</references>
<ondelete>restrict</ondelete>
<onupdate>cascade</onupdate>
</foreign>
</declaration>
</table>
Вот ошибка.
сообщение: MDB2_Schema Ошибка: ошибка проверки схемы
Ошибка синтаксического анализатора: ссылка на таблицу "ученик" внешнего ключа fk_student_enrollment "таблицы" enrollment "не существует - Нет ошибки - Байт: 2244; Строка: 70; Кол: 12