以下是在mySql数据库中插入视频的查询。
insert into media(name,data) values ('image', load_file('C:\ao.mp4'))
该表有2列,名称和数据,其中数据具有BLOB数据类型。第一列添加到表中,但第二列返回null。
我已经阅读了here提供的答案,但它无效。
答案 0 :(得分: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)
您可能必须为客户端(您正在运行以执行导入)和正在运行并接受导入的守护程序mysqld更改它。
对于客户端,您可以在命令行中指定它:
mysql --max_allowed_packet=100M -u root -p database < dump.sql
另外,更改mysqld部分下的my.cnf或my.ini文件并进行设置 max_allowed_packet = 100M或者您可以在连接到同一服务器的MySQL控制台中运行这些命令:
set global net_buffer_length=1000000;
set global max_allowed_packet=1000000000;
(对数据包大小使用非常大的值。)
找到.ini文件
要配置客户端和实用程序应用程序,请在Windows安装目录中创建新的my.ini文件。更多信息 here
答案 1 :(得分:1)
我认为你有两个选择:
更改my.ini文件。在文件中包含[mysqld]下的单行
max_allowed_packet = 500M
现在重启MySQL服务,你就完成了