Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Неправильный дамп базы данных
 
 автор: Igorel   (15.07.2006 в 08:54)   письмо автору
 
 

Извините что глупый вопрос задаю, но во всех учебниках только правильные запросы описаны, да и в инете тоже.
Вобщем ситуация такая: рнр-скрипт работает с тремя таблицами базы данных. В ближайшее время "выходит" обновление скрипта с мелкими, но важными изменениями. К одной из таблиц добавляется два поля. Если сделать дамп старой таблицы, то при импорте данных из дампа в новую таблицу будет не хватать "двух полей". Править замучеешся (дамп большой). Опыты на локалхосте (денвер) прошли без проблем. Но как сие пройдёт на платном хосте ?! Подскажите чем подобное грозит.

   
 
 автор: cheops   (15.07.2006 в 10:30)   письмо автору
 
   для: Igorel   (15.07.2006 в 08:54)
 

Хм... так если вы уже внедрили дамп на денвере, то проблемы нет - просто возьмите дамп с него (он уже будет включать дополнительные поля) или разверните дамп в старые таблицы и добавьте недостающие поля при помощи оператора ALTER TABLE, если его использование вызывает трудности сообщите структуру таблиц, куда следует вставить поля (после какого поля) и тип новых полей - мы вам пожем с запросом.

   
 
 автор: Igorel   (15.07.2006 в 10:59)   письмо автору
 
   для: cheops   (15.07.2006 в 10:30)
 

Извините на скору руку. Изначально таблица такая:

-- Структура таблицы 'sn_mod_gall'
--

CREATE TABLE sn_mod_gall (
'id' int(11) NOT NULL auto_increment,
'cid' int(11) DEFAULT '1' NOT NULL,
'title' varchar(255) NOT NULL,
'pic' varchar(150) NOT NULL,
'description' text NOT NULL,
'linksdate' varchar(14) NOT NULL,
'email' varchar(255) NOT NULL,
'author' varchar(50) NOT NULL,
'hits' int(11) DEFAULT '0' NOT NULL,
'view_lang' varchar(10) NOT NULL,
PRIMARY KEY (id)
);

Сейчас к ней добавляется ещё два поля после 'view_lang'
'comments' int(1) NOT NULL default '0',
'comments_count' int(11) NOT NULL default '0',
Дело в том что скрипт ставиться инсталятором (тоже скриптом), при установке скрипта таблицы создаются заново и затирают всю инфу что была записана в старых таблицах. Если инфу сохранить сделав дамп в *sql файл, то при попытке импортировать сохранённый дамп в базу:
INSERT INTO 'sn_mod_gall' VALUES (21, 10, 'Первое изо второй категории', 'adm_1152754775_cat-001.jpg', '', '1152754776', '', '', 6, '');
в запросе не хватит двух последних полей. Должно быть:
INSERT INTO 'sn_mod_gall' VALUES (21, 10, 'Первое изо второй категории', 'adm_1152754775_cat-001.jpg', '', '1152754776', '', '', 6, '', 1, 0);
Править вручную сохранённый файл дампа замучаешься. Можно что в такой ситуации придумать?

   
 
 автор: cheops   (15.07.2006 в 11:20)   письмо автору
 
   для: Igorel   (15.07.2006 в 10:59)
 

Сохраните дамп со старыми таблицами в денвере, т.е. в денвер вы можете запросто поместить дамп со строками
INSERT INTO 'sn_mod_gall' VALUES (21, 10, 'Первое изо второй категории', 'adm_1152754775_cat-001.jpg', '', '1152754776', '', '', 6, '');

Затем добавьте два столбца при помощи запроса
ALTER TABLE sn_mod_gall ADD comments INT( 1 ) DEFAULT '1' NOT NULL AFTER view_lang ,
ADD comments_count INT( 11 ) DEFAULT '0' NOT NULL AFTER comments ;

после ключевого слова AFTER укажите поле, после которого должен быть добавлен столбец. А ещё лучше воспользуйтесь Web-интерфейсом phpMyAdmin (который входит в состав денвера) для добавления столбцов, после чего создайте дамп с вашей локальной базы данных (меню Экспорт phpMyAdmin). Полученный дамп вы можете разворачивать уже на обновлённой базе данных.

   
 
 автор: Igorel   (15.07.2006 в 11:31)   письмо автору
 
   для: cheops   (15.07.2006 в 11:20)
 

Спасибо огромное!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования