1 (изменено: Sphagnum, 2007-11-13 23:50:26)

Тема: Экспорт с MySQL 4.1 в 3.23.58

День добрый!

У меня возникла проблема при экспорте дампа базы с MySQL 4.1.16 (phpmyadmin 2.6.1) в MySQL 3.23.58 (phpmyadmin 2.6.2). Причем последнюю я не могу обновить sad Так как это сторона хоста.

Проблема заключается в том, что никак не могу перенести AUTO_INCREMENT для всех таблиц. То есть, поле «дополнительно» для поля, допустим id, после переноса остается пустым, а должно быть AUTO_INCREMENT.
Пробовал при экспорте
1)    Ставить различные SQL export compatibility:
2)    Включать/выключать Add AUTO_INCREMENT value

Вот кусок экспортного кода, вроде как с ним все в порядке, но при импорте дампа энкриент игнорируется:

DROP TABLE IF EXISTS `zav_banner`;
CREATE TABLE IF NOT EXISTS `zav_banner` (
  `bid` int(11) NOT NULL auto_increment,
  `cid` int(11) NOT NULL default '0',
  `type` varchar(10) NOT NULL default 'banner',
  `name` varchar(50) NOT NULL default '',
  `imptotal` int(11) NOT NULL default '0',
  `impmade` int(11) NOT NULL default '0',
  `clicks` int(11) NOT NULL default '0',
  `imageurl` varchar(100) NOT NULL default '',
  `clickurl` varchar(200) NOT NULL default '',
  `date` datetime default NULL,
  `showBanner` tinyint(1) NOT NULL default '0',
  `checked_out` tinyint(1) NOT NULL default '0',
  `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00',
  `editor` varchar(50) default NULL,
  `custombannercode` text,
  PRIMARY KEY  (`bid`),
  KEY `viewbanner` (`showBanner`)
) TYPE=MyISAM AUTO_INCREMENT=6 ;

Ничего не помогает. Единственный вариант править ручками, но там так много тейблов sad

Если, кто-нибудь сталкивался с такой проблемой и знает решение, заранее огромное спасибо!

2

Re: Экспорт с MySQL 4.1 в 3.23.58

Sphagnum
К сожалению не знаю чем здесь можно помочь.
Этот запрос дает изменение?
ALTER TABLE tbl AUTO_INCREMENT = 6;

3 (изменено: Sphagnum, 2007-11-14 16:08:33)

Re: Экспорт с MySQL 4.1 в 3.23.58

В принципе разобрался в чем дело, просто при экспорте в режимах совместимости не добавляется auto_increment после `bid` int(11) NOT NULL.

DROP TABLE IF EXISTS `zav_banner`;
CREATE TABLE IF NOT EXISTS `zav_banner` (
  `bid` int(11) NOT NULL,
  `cid` int(11) NOT NULL default '0',
  `type` varchar(10) NOT NULL default 'banner',
  `name` varchar(50) NOT NULL default '',
  `imptotal` int(11) NOT NULL default '0',
  `impmade` int(11) NOT NULL default '0',
  `clicks` int(11) NOT NULL default '0',
  `imageurl` varchar(100) NOT NULL default '',
  `clickurl` varchar(200) NOT NULL default '',
  `date` datetime default NULL,
  `showBanner` tinyint(1) NOT NULL default '0',
  `checked_out` tinyint(1) NOT NULL default '0',
  `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00',
  `editor` varchar(50) default NULL,
  `custombannercode` text,
  PRIMARY KEY  (`bid`),
  KEY `viewbanner` (`showBanner`)
) TYPE=MyISAM AUTO_INCREMENT=6 ;

Теперь я переношу базу таким макаром smile

1)    Экспортирую в SQL export compatibility: NONE
2)    В текстовом редакторе вручную убираю DEFAULT CHARSET=cp1251 и меняю ENGINE=MyISAM на  TYPE=MyISAM

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

Спасибо всем за внимание! Может кому-нибудь пригодится в будущем.