我正在尝试创建一个 MySQL 事件,以便可以将文件自动添加到我的 MySQL 数据库中。基本上,我现在正在运行 XAMPP 服务器,所以我所有的网站/数据库相关图像文件都在“C:\Users\Mus\server\htdocs\images”目录中。每当我将图像文件放入此目录时;我需要通过我试图创建的这个 MySQL 事件将该文件自动上传到数据库。这意味着数据库需要以 5 秒的时间间隔不断检查新文件,如果新文件已添加到所述目录,将自动为图像创建一个新条目(在指定的表中)并在同时,图像将被上传到数据库中的同一个表中。
到目前为止我使用的 SQL 代码是:
CREATE EVENT 'eventnov'
ON SCHEDULE EVERY 5 SECOND
STARTS '2015-10-27 00:00:00'
ENDS '2015-10-28 00:00:00'
DO INSERT INTO 'images_11_nov'
SELECT NOW();
我意识到第 5 行和第 6 行可能完全错误,但我尝试研究现有问题,但没有发现运气。我查看了MySQL 官方文档,不幸的是我找不到与我的具体问题相关的任何内容。我不知道让 MySQL 在单个 MySQL 事件中执行以下所有操作的语法:
- 以 5 秒的设定时间间隔检查指定的文件目录(C:\Users\Mus\server\htdocs\images),如果有新移动的图像进入所述目录....(数字 2)
- 自动在“images_11_nov”表中创建一个条目作为新图像的占位符和....(数字 3)
- 自动上传这些新图像文件(最近已移至“C:\Users\Mus\server\htdocs\images”)并将它们插入到“images_11_nov”表中。
有人可以帮我完成上述代码以执行这些必要的功能吗?如果我需要提供更多信息,请让我知道,我将履行义务。
- 编辑 1:“images_11_nov”表的列名是“title”(varchar)、“imgdata”(BLOB)、“picid”(INT)、“datetime”(时间戳)。
- 编辑 2:我已经更改了关于 Jayesh Dhandha 答案的 SQL 代码,但我仍然在 MySQL 中遇到语法错误。更新后的代码如下:
CREATE EVENT 'eventnov'
ON SCHEDULE EVERY 5 SECOND
STARTS '2015-10-27 00:00:00'
ENDS '2015-10-28 00:00:00'
SELECT count(*) 'images_11_nov'
system(ls C:\Users\Mus\server\htdocs\images | wc -l)
system(ls -t | head -1)
DO INSERT INTO 'images_11_nov';