我有一个表,其中的图像数据存储在MySQL数据库的blob字段中。有没有一种方法可以仅使用SQL将这些图像导出到文件系统上的文件?图片应命名为{imageId} .jpg
我知道用Java或其他方法很容易做到这一点,但是仅用SQL脚本就能做到吗?
我不喜欢这个主意…
drop procedure if exists dump_image; delimiter // create procedure dump_image() begin declare this_id int; declare cur1 cursor for select imageId from image; open cur1; read_loop: loop fetch cur1 into this_id; set @query = concat('select blob_field from image where imageId=', this_id, ' into outfile "/tmp/xyz-', this_id,'.jpg"'); prepare write_file from @query; execute write_file; end loop; close cur1; end // delimiter ;
尽管有错误
mysql>调用dump_image(); 错误1329(02000):无数据-提取,选择或处理了零行 ls -1 / tmp / xyz *