Perl и MySQL, создание динамических таблиц - PullRequest
1 голос
/ 09 февраля 2011

Мне было интересно, есть ли примеры кода для создания динамических таблиц с х столбцами? Меня беспокоит, что в именах столбцов есть забавные символы.

С уважением, Гордон

Ответы [ 2 ]

2 голосов
/ 10 февраля 2011

Полагаю, вы хотите экранировать эти символы в именах таблиц.Используйте метод quote_identifier DBI

0 голосов
/ 09 февраля 2011

Почему вы хотите динамически создавать таблицы?Вы должны разработать подходящую схему базы данных, подходящую для данных, которые вам нужно хранить.

На основании вашего вопроса у меня сложилось впечатление, что вы делаете это неправильно.

Создание таблиц легко выполнитьоднако с помощью стандартной команды CREATE TABLE, например:

$dbh->do('CREATE TABLE testtable (foo VARCHAR(100), bar INT(4), baz DATETIME);');

Вы можете сгенерировать этот SQL достаточно легко, и нет никаких причин, по которым вы должны получить какие-либо "забавные символы".

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

Если вы пытаетесь хранить динамические данные, которые не вписываются в традиционную схему реляционной базы данных, вы можететакже рассмотрите базы данных, ориентированные на документы, такие как MongoDB (в которой хранятся «документы» данных на основе JSON, что дает вам многогибкости;на CPAN имеется модуль MongoDB для простого взаимодействия с ним).

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