加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL可以检查该文件是否存在?

发布时间:2020-12-11 23:43:31 所属栏目:MySql教程 来源:网络整理
导读:我有一个表,其中包含HDD上实际文件的相对路径.例如: SELECT * FROM images --id | path1 | /files/1.jpg2 | /files/2.jpg 我可以创建一个查询来选择指向不存在的文件的所有记录吗?我需要完全通过MySql服务器检查它,而不使用PHP客户端中的迭代.最佳答案我会

我有一个表,其中包含HDD上实际文件的相对路径.例如:

SELECT * FROM images -->
id | path
1  | /files/1.jpg
2  | /files/2.jpg

我可以创建一个查询来选择指向不存在的文件的所有记录吗?我需要完全通过MySql服务器检查它,而不使用PHP客户端中的迭代. 最佳答案 我会使用这样的查询:

SELECT id,path,ISNULL(LOAD_FILE(path)) as not_exists
FROM images
HAVING not_exists = 1

函数LOAD_FILE尝试将文件作为字符串加载,并在失败时返回NULL.

请注意,在这种情况下失败的原因可能是mysql根本无法读取该特定位置,即使该文件确实存在.

编辑:

正如@ostrokach在评论中指出的那样,这不是标准的SQL,即使MySQL允许它,也可以遵循标准:

SELECT *
FROM images
WHERE LOAD_FILE(PATH) IS NULL

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读