Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MySQL > load data infile


Автор: MaxB 27.5.2008, 19:37
Привет всем!

Можно ли сделать, чтоб с помощью команды  load data infile файл загружался махом в одно поле типа longblob, а не бился по кускам. 
как это происходит при следующем запросе:

Код


 load data infile 'd://localhost/www/com.zip'
 into table jos_mb_dbfile
 lines terminated by ''
 (`file`);



Вот дамп таблицы:
Код

CREATE TABLE `jos_mb_dbfile` (
  `id_file` int(11) NOT NULL auto_increment,
  `file` longblob NOT NULL,
  `tmp` int(11) NOT NULL,
  PRIMARY KEY  (`id_file`)
) ENGINE=InnoDB CHARSET=latin1;




Автор: Feldmarschall 27.5.2008, 23:49
мне кажется, что БД - не для хранения архивов
а команда load data infile - не для вставки одного поля

Автор: MaxB 28.5.2008, 00:28
Цитата

мне кажется, что БД - не для хранения архивов


ну пусть будет com.gif

Цитата

а команда load data infile - не для вставки одного поля

я думаю если может вставлять несколько полей можно заставить и одно только как пока не понятно. smile 
Может другие способы есть. Желательно чтоб mysql это сделал напрямую без применения Php.




Автор: Feldmarschall 28.5.2008, 00:42
и картинок тоже.

Автор: MaxB 28.5.2008, 10:08
Цитата

и картинок тоже.

если нельзя хранить картинки и другие вещи, то для чего нужны типы mediumblob, longblob?

Автор: Feldmarschall 28.5.2008, 10:13
чтобы к данным, лежащим в них, не применялись правила перекодировки

Автор: MaxB 28.5.2008, 11:48
Цитата

чтобы к данным, лежащим в них, не применялись правила перекодировки

Это понятно. smile  Какие же данные можно хранить в:
mediumblob размером до 2^24 байт
longblob размером до 2^32 байт
если не картинки и другие файлы к которым необходим быстрый доступ.

Автор: skyboy 28.5.2008, 13:41
Цитата(MaxB @  28.5.2008,  10:48 Найти цитируемый пост)
если не картинки и другие файлы к которым необходим быстрый доступ

странно слышать про "быстрый доступ".
если у тебя разработка Web-ориентированной системы, то HTTP-сервер отдаст файл всяко быстрее, чем база для хранения + PHP скрипт для выборки и отправки. Или у тебя по содержимому файла происходит сортировка в запросе? Или у тебя нет прав на запись в файловую систему - только в базу можно? зачем тебе хранить именно в базе?
Цитата(MaxB @  28.5.2008,  10:48 Найти цитируемый пост)
Какие же данные можно хранить в

бинарные. такие же, которые можно писать и в файл.

Автор: MaxB 28.5.2008, 15:32
Цитата

странно слышать про "быстрый доступ".

может и не быстрее, но мой хостер имеет интересную политику. База данных по размеру не имеет ограничений, а дисковое пространство под файлы ограничено, которого как всегда не хватает, вот я и думаю, чтоб не переходить на более дорогой хостинг, коечо перенести в базу.

Автор: skyboy 28.5.2008, 15:34
Цитата(MaxB @  28.5.2008,  14:32 Найти цитируемый пост)
вот я и думаю, чтоб не переходить на более дорогой хостинг, коечо перенести в базу.

хитер, шельма  smile 
однако, хостер, как мне думается, быстро это дело пресечет :( и додумает какой-то пункт в договор...

Автор: Fortop 28.5.2008, 21:52
Цитата(MaxB @  28.5.2008,  15:32 Найти цитируемый пост)
База данных по размеру не имеет ограничений,

Это только так говорят. По-факту у них почти всегда есть ограничение. 
Часто ограничивают не размер, а число запросов за промежуток времени.

Автор: MaxB 28.5.2008, 22:32
спасибо всем, ну всетаки попробую посмотрим, что получится.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)