2014-01-21 6 views
1

Ниже приведен запрос на вставку видео в базу данных mySql.Вставить видео в базу данных

insert into media(name,data) values ('image', load_file('C:\ao.mp4')) 

Таблица имеет 2 столбца, имя и данные, где данные имеют тип данных BLOB. Первый столбец добавляется в таблицу, но второй столбец возвращает null.

Я прочел ответ here, но он не работает.

+0

какой вид blob u hav? TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB =? – Melon

+0

BLOB, обычный тип данных. Нужен ли мне LONGBLOB? –

+0

возможно, это проблема ... вы должны попробовать. – Melon

ответ

1

Я думаю, что вы ВГА 2 варианта:

  1. создать несколько полей: VIDEO1, VIDEO2 и т.д ... и разделить код видео на них.
  2. Увеличение max_allowed_packet: source link

Изменения в my.ini файла. Включите одну строку под [туздЫ] в файле

max_allowed_packet = 500M

Теперь перезапустите службу MySQL, и вы сделали

How to locate my.ini file.

2

создание таблицы:

CREATE TABLE media (
       GAME_ID INTEGER NOT NULL PRIMARY KEY, 
       name VARCHAR (20), 
       VIDEO LONGBLOB); 

Ваш запрос на ввод у будет похож на этот

INSERT INTO media values ('File_Name',LOAD_FILE("C:\\Users\\Public\\Videos\\Sample Video\\ao.mp4")); 

Результат load_file() было больше, чем max_allowed_packet (1048576)

Вы, вероятно, придется изменить для клиента (вы работаете, чтобы сделать import) И демон mysqld, который запускает и принимает импорт.

Для клиента, можно указать его в командной строке:

mysql --max_allowed_packet=100M -u root -p database < dump.sql 

Кроме того, изменить my.cnf или my.ini файл в разделе туздЫ и установите max_allowed_packet = 100M или вы можете запустить эти команды в консоли MySQL, подключенного к тому же серверу: (. Использование очень большое значение для размера пакета)

set global net_buffer_length=1000000; 
set global max_allowed_packet=1000000000; 

Чтобы найти файл .ini.

Чтобы настроить клиентские и служебные приложения, создайте новый файл my.ini в каталоге установки Windows. Больше информации here

+0

Я нахожусь в окнах, поэтому мне просто нужно попробовать эти команды в командной строке, не так ли? –

+0

@PrakharMohanSrivastava, это должно быть сделано командой mysql командной строки –

Смежные вопросы