Как мне сохранить данные XML в базе данных mysql? Я не хочу внешних ключей, как сумасшедшие - PullRequest
13 голосов
/ 05 февраля 2010

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

Ответы [ 3 ]

28 голосов
/ 05 февраля 2010

«Обычный» способ - хранить XML в CLOB (символьный большой объект), а MySQL поддерживает CLOB с 4 типами данных:

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

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

6 голосов
/ 05 февраля 2010

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...