Подтвердить что ты не робот

Как хранить данные XML в базе данных mysql? Я не хочу, чтобы внешние ключи как сумасшедшие

Если мои XML-данные очень сложны, есть ли способ сохранить это в БД?

4b9b3361

Ответ 1

"Обычный" способ - хранить XML в CLOB (Large Large Object), а MySQL поддерживает CLOB с 4 типами данных:

  • TINYTEXT - столбец CLOB с максимальной длиной 255 символов (2 ** 8 - 1).
  • ТЕКСТ - столбец CLOB с максимальной длиной 65 535 символов (2 ** 16 - 1).
  • MEDIUMTEXT - столбец CLOB с максимальной длиной 16,777,215 (2 ** 24 - 1) символов.
  • LONGTEXT - столбец CLOB с максимальной длиной 4 294 967 295 или 4 ГБ (2 ** 32 - 1).

Использование одного или другого зависит от ваших потребностей.

Ответ 2

Все зависит от того, что вы хотите, чтобы ваша база данных работала с XML.

  • Если вы хотите сохранить XML-документ для последующего извлечения, просто используйте поле blob или text. Также проверьте Документы MySQL.
  • Если вы пытаетесь выгрузить/импортировать модель, используйте mysqldump.
  • Если вы планируете запрашивать XML, скорее всего, вы должны использовать собственную XML-базу данных, такую ​​как eXist-db.

Ответ 3

Я бы рекомендовал использовать базу данных с собственным типом данных XML. Postgres это сделает, например. Это облегчит вам жизнь, если вы планируете большую работу с XML в своей базе данных.