Добавление метаданных приписывает таблице MySQL

Я хотел бы добавить пользовательские атрибуты к таблице MySQL, которую я могу считать через php.

Эти атрибуты не состоят в том, чтобы вмешаться в саму таблицу - к ним, прежде всего, получает доступ код php в течение времени генерации кода, и эти атрибуты должны находиться в самом DB.

Что-то подобное в понятии к отражению.NET.

MySQL поддерживает что-нибудь как это?

Спасибо.

9
задан Jack 18 March 2010 в 00:49
поделиться

2 ответа

Когда вы СОЗДАЕТЕ или ALTER таблицу, вы можете добавить КОММЕНТАРИЙ - по одному для таблицы в целом и по одному для каждого столбца. Чтобы получить эти комментарии, вы можете запросить базу данных INFORMATION_SCHEMA , в частности столбцы INFORMATION_SCHEMA.COLUMNS.COLUMNS_COMMENT и INFORMATION_SCHEMA.TABLE.TABLE_COMMENTS . INFORMATION_SCHEMA предоставляет множество метаданных о ваших базах данных, включая данные, предоставленные операторами DESCRIBE . Любой пользователь, имеющий доступ на чтение к определенной таблице или столбцу, может читать соответствующие метаданные из INFORMATION_SCHEMA , но не может читать метаданные о таблицах, для которых у них нет доступа на чтение.

Кажется естественным хранить ваши собственные метаданные в INFORMATION_SCHEMA , но это не так гибко, как вам может понадобиться, потому что вы можете хранить только один КОММЕНТАРИЙ на столбец. Если это слишком ограничительно для ваших целей или вам необходимо регулярно обновлять данные, вам следует подписаться на @Dark Falcon и создать дополнительную таблицу.

5
ответ дан 4 December 2019 в 23:39
поделиться

Какие атрибуты? Поскольку вы упомянули отражение, я полагаю, вы пытаетесь узнать что-то о структуре таблицы? Знаете ли вы, что команды, которые рассказывают вам о структуре таблицы, являются SQL и возвращают свои результаты, как любой другой запрос? Это позволяет программно обрабатывать результаты, например, DESCRIBE TABLE. Это то, что вы ищете?

1
ответ дан 4 December 2019 в 23:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: