LOAD DATA INFILE "/tmp/file_name" INTO TABLE test
Но он как я понял вставляет данные в определённую таблицу, причём в одну. Вопрос: как можно создать сразу несколько таблиц в БД, с данными взятыми из файла?
Спустя 1 минута, 43 секунды (5.10.2010 - 15:03) arvitaly написал(а):
А чем обычный дамп плох?
Спустя 7 минут, 49 секунд (5.10.2010 - 15:11) Michael написал(а):
А ты отдельно создай сначала таблицы, а потом подгрузи в них данные.
Создать так:
или этот код можно также из некого файла подгрузить.
После создания таблиц выполняй LOAD DATA в них
Создать так:
$t = "
CREATE TABLE IF NOT EXISTS `forms` (
`idf` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
PRIMARY KEY (`idf`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 ;
";
mysql_query($t);
или этот код можно также из некого файла подгрузить.
После создания таблиц выполняй LOAD DATA в них
Спустя 23 минуты, 16 секунд (5.10.2010 - 15:35) moskitos80 написал(а):
arvitaly - у меня задача: Самоустанавливающийся скрипт, но начальные данные он должен брать из одного файла дампа: dump.sql. Я слышал, народ это как то решает через exec ...
Спустя 12 минут, 40 секунд (5.10.2010 - 15:47) arvitaly написал(а):
Ну если сервак - *nix и разрешены консольные операции, то вообще все будет быстро, синтаксис импорта вроде такой (могу ошибаться не помню)
exec("mysql -ppassword -ulogin -hlocalhost dbname < dump.sql");
exec("mysql -ppassword -ulogin -hlocalhost dbname < dump.sql");
Спустя 4 минуты, 40 секунд (5.10.2010 - 15:52) Michael написал(а):
moskitos80, если именно через дамп, как в phpmyadmin, то его можно просто загрузить в php и выполнить весь код, только не через mysql, а через mysqli (там есть функция - mysqli_multi_query).
Спустя 19 часов, 17 минут, 20 секунд (6.10.2010 - 11:09) moskitos80 написал(а):
arvitaly, Michael Спасибо. - Оба варианта обязательно на заметку. Но проблему решил тривиально: получил содержимое файла в строку, разбил по символу ";" - в массив. Получившийся массив запросов выполнил циклом... да простит меня моя совесть
Спустя 2 часа, 2 минуты, 26 секунд (6.10.2010 - 13:12) arvitaly написал(а):
Не простит, попробуйте выполнить такой дамп
ну идея понятна да?
insert into newtable values (0,'aaa;bbb')
ну идея понятна да?
_____________
Сложное - просто. Простое сложно.