[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: как загрузить файл в бд
Страницы: 1, 2, 3
dr.nomore
INSERT INTO name_domen (domen,registered,date_reg,date_exp,date_del)
VALUES
($array[0],$array[1],$array[2],$array[3],$array[4]),
($array[0],$array[1],$array[2],$array[3],$array[4]),
($array[0],$array[1],$array[2],$array[3],$array[4]),
($array[0],$array[1],$array[2],$array[3],$array[4]),
($array[0],$array[1],$array[2],$array[3],$array[4])
;";

Дамп любой не пустой таблицв посмотрите и увидите как оно делается.
mvg
Цитата (Rumych @ 21.11.2013 - 15:22)
Цитата
запросы в цикле.... пффффффффф

http://dev.mysql.com/doc/refman/5.0/en/load-data.html


Подскажите как правильно, и почему не корректно в цикле?(Например внести в таблицу БД 1000 записей)
Спасибо.

Более корректно построить в цикле запрос на мульти вставку через insert, а потом уже этот запрос запустить на выполнение.
Rumych
Спасибо за ответы.
Rumych
Но все таки почему пффффффф....

Запрос
INSERT INTO name_domen (domen,registered,date_reg,date_exp,date_del)
VALUES $string;
где
$string =" ($array[0],$array[1],$array[2],$array[3],$array[4]),
($array[0],$array[1],$array[2],$array[3],$array[4]),
------------------------------------------------------------
($array[0],$array[1],$array[2],$array[3],$array[4])"; - 1000 записей
меньше нагружает сервер чем 1000 запросов в цикле по одной записи?
Или я не правильно понимаю?
dr.nomore
Меньше нагружает СУБД. Сервер тоже меньше. По крайней мере INSERT INTO name_domen (domen,registered,date_reg,date_exp,date_del) VALUES не надо стопицот раз ему повторять.
twin
Какая разница для одной операции... Мудрите, господа.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
domen
Цитата (twin @ 22.11.2013 - 07:34)
Какая разница для одной операции... Мудрите, господа.

Вот нашел пример но он не заносит значения в бд
$arr = file("su_domains.txt"); 
$products = array();

for($i = 0; $i < count($arr); $i++)
{
$arr[$i] = trim($arr[$i]);
$line = explode("\t", $arr[$i]);

$sql[] = "('{$line[0]}',
'
{$line[1]}',
'
{$line[2]}',
'
{$line[3]}',
'
{$line[4]}',
)"
;
}

//echo "<pre>";
//print_r($products);
// echo "</pre>";



echo implode(", ", $sql);

if(!empty($sql))
{
// Формируем SQL-запрос
$query = "INSERT INTO name_domains (domain, registered, date_reg, date_exp, date_del) VALUES ".implode(", ", $sql);
// ...
}
вот что выводит echo implode(", ", $sql);
('0-0.SU', 'RUCENTER-REG-FID', '07.03.2013', '07.03.2014', '09.04.2014', ),
тоесть есть лишняя запитая, как ее можно убрать, если конечно в этом проблемма.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.