Форум сайта python.su
Если БД экспортированная с одного сервера через phpminiadmin не импортируется на другой, выдавая ошибку 150, то это проблема с настройками mysql сервера? Логично ведь?
Не выполняется даже самый первый запрос из sql-файла.
CREATE TABLE `answers` ( `id` int(11) NOT NULL auto_increment, `quest_id` int(11) NOT NULL default '0', `content` varchar(500) NOT NULL, `rights` tinyint(4) default '0', `zindex` smallint(6) default NULL, PRIMARY KEY (`id`), KEY `FK` (`quest_id`), CONSTRAINT `answers_ibfk_1` FOREIGN KEY (`quest_id`) REFERENCES `questions` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=57 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;
=====================================
130502 15:22:06 INNODB MONITOR OUTPUT
=====================================
Per second averages calculated from the last 24 seconds
———-
SEMAPHORES
———-
OS WAIT ARRAY INFO: reservation count 4, signal count 4
Mutex spin waits 0, rounds 20, OS waits 0
RW-shared spins 8, OS waits 4; RW-excl spins 0, OS waits 0
————————
LATEST FOREIGN KEY ERROR
————————
130502 15:22:02 Error in foreign key constraint of table stimul_db/answers:
FOREIGN KEY (`quest_id`) REFERENCES `questions` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=57 DEFAULT CHARSET=utf8 ROW_FORMATYNAMIC:
Cannot resolve table name close to:
(`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=57 DEFAULT CHARSET=utf8 ROW_FORMATYNAMIC
# Uncomment the following if you are using InnoDB tables
innodb_data_home_dir = /var/db/mysql
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /var/db/mysql
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 512M
innodb_additional_mem_pool_size = 2M
# Set .._log_file_size to 25 % of buffer pool size
#innodb_log_file_size = 128M
#innodb_log_buffer_size = 8M
#innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
Офлайн
В первом скрипте вы ссылаетесь на таблицу, которой еще не существует.
Попробуйте завернуть все скрипты в одну транзакцию.
START TRANSACTION -- тут скрипты COMMIT;
Офлайн
LexanderДумал про это. Изначально заливал sql файл целиком, была та же ругань. Возможно, что phpminiadmin не умеет учитывать порядок запросов, и sql-файл получается не корректным?
В первом скрипте вы ссылаетесь на таблицу, которой еще не существует.Попробуйте завернуть все скрипты в одну транзакцию.
LexanderПопробовал - та же ошибка. Буду менять порядок.
START TRANSACTION – тут скрипты COMMIT;
Отредактировано Hayate (Май 2, 2013 13:29:43)
Офлайн
Сейчас потаблично экспортирую-импортирую, нормально отрабатывается, если следить, чтобы ранее уже были импортированы нужные таблицы. Жаль, что START TRANSACTION; COMMIT; не сработало, было бы проще.
Офлайн
А так:
set foreign_key_checks=0; -- тут скрипты set foreign_key_checks=1;
Офлайн
А вот так вот молча всё импортировалось. Спасибо огромное, буду знать.
Пустая голова руками покоя не даёт.
Офлайн