Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как создать БД и таблицы заполнить только в случае, если этого еще нет. [ MySQL 5.5 ]  
:(
    Опции темы
malor
  Дата 27.11.2011, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 632
Регистрация: 17.11.2006

Репутация: нет
Всего: нет



Допустим. вы переустанавливаете MySQL-сервер. В прошлом у вас была какая-то БД. Поставив MySQL заново, при условии, 
что в конфиге одно и тоже значение у переменной datadir, вы получите доступ к своей прежней БД.
Возьмем случай, что вы не в курсе, была ли сохранена база (имя - "mybase") или нет.

1) Вы запускаете:
"%PROGRAMFILES%\MySQL\MySQL Server 5.5\bin\mysql" -uroot -p123456 -e "CREATE DATABASE IF NOT EXISTS mybase"
Безопасная команда, как видим.

2) Затем заносите в нее данные:
"%PROGRAMFILES%\MySQL\MySQL Server 5.5\bin\mysql" -uroot -p123456 mybase < myolddump.txt

Файл myolddump.txt имеет такое содержимое:
Код
DROP TABLE IF EXISTS `my_main_table`;
CREATE TABLE `my_main_table` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `item` varchar(100) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8;

--
-- Dumping data for table `my_main_table`
--

LOCK TABLES `my_main_table` WRITE;
INSERT INTO `my_main_table` VALUES (1,'stroka1'),(2,'stroka2'),(3,'stroka3'),(4,'stroka4'),(5,'stroka5');
UNLOCK TABLES;


Вместо :
Код
DROP TABLE IF EXISTS `my_main_table`;
CREATE TABLE `my_main_table` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `item` varchar(100) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8;


вероятно нужно написать:
Код
CREATE TABLE IF NOT EXISTS `my_main_table` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `item` varchar(100) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8;


А на что заменить участок 

Код
LOCK TABLES `my_main_table` WRITE;
INSERT INTO `my_main_table` VALUES (1,'stroka1'),(2,'stroka2'),(3,'stroka3'),(4,'stroka4'),(5,'stroka5');
UNLOCK TABLES;

?
PM MAIL   Вверх
Plavozont
Дата 16.12.2011, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 182
Регистрация: 14.4.2008

Репутация: нет
Всего: нет



Цитата

...вы не в курсе, была ли сохранена база...


Почему ?
--------------------
Fortunately, the circumstances under which those words are useful run out at a relatively low level of multiplicity.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0583 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.