Показать сообщение отдельно
  #1 (permalink)  
Старый 11.07.2012, 10:44
Аватар для Shasoft
Профессор
Отправить личное сообщение для Shasoft Посмотреть профиль Найти все сообщения от Shasoft
 
Регистрация: 03.03.2009
Сообщений: 156

Сравнить две структуры таблиц MySQL
Имеется две структуры одной и тоже таблицы:
CREATE TABLE `portal-files` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `mandt` char(3) NOT NULL DEFAULT '000' COMMENT 'Мандат',
  `filename` varchar(256) DEFAULT '' COMMENT 'Имя файла',
  `size` int(11) DEFAULT '0' COMMENT 'Размер файла, байт',
  `mimetype` char(64) DEFAULT '' COMMENT 'Тип данных',
  `ernam` int(10) DEFAULT '0' COMMENT 'Идентификатор пользователя, добавившего файл',
  `erdat` int(10) DEFAULT '0' COMMENT 'Время добавления',
  `ispack` tinyint(1) DEFAULT '0' COMMENT 'Время добавления',
  `del` tinyint(1) DEFAULT '0' COMMENT 'Флаг удаления (если = 1, то файл удален)',
  `modname` varchar(128) DEFAULT '' COMMENT 'Имя модуля, к которому относится файл',
  `xdata` varchar(256) DEFAULT '' COMMENT 'Параметры для проверки прав',
  PRIMARY KEY (`id`),
  KEY `Index 2` (`mandt`,`size`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Список файлов'

CREATE TABLE `portal-files` (
  `id` int(10) NOT NULL auto_increment,
  `mandt` char(3) NOT NULL default '000' COMMENT 'Мандат',
  `filename` varchar(256) default '' COMMENT 'Имя файла',
  `size` int(11) default '0' COMMENT 'Размер файла, байт',
  `mimetype` char(64) default '' COMMENT 'Тип данных',
  `ernam` int(10) default '0' COMMENT 'Идентификатор пользователя, добавившего файл',
  `erdat` int(10) default '0' COMMENT 'Время добавления',
  `ispack` tinyint(1) default '0' COMMENT 'Время добавления',
  `del` tinyint(1) default '0' COMMENT 'Флаг удаления (если = 1, то файл удален)',
  `modname` varchar(128) default '' COMMENT 'Имя модуля, к которому относится файл',
  `xdata` varchar(256) default '' COMMENT 'Параметры для проверки прав',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Список файлов'

Как можно заметить, это две структуры одной и той же таблицы. Эту информацию возвращает один и тот же код. Однако описание отличаются. В частности некоторые ключевые слова в разных регистрах. К тому же PRIMARY KEY (`id`) в одном случае один пробел между 'KEY' и '(', в другом два.
Мне же нужно на Javascript-е сравнить эти два описания и вернуть результат: одинаковая структура или нет?

Может кто-то может предложить умную идею по реализации?

p.s. пишу здесь, так как реализация нужна на JS. Надеюсь что народ предложит красивое решение, которого я не вижу.
Ответить с цитированием