Mysql的WHERE子句中的文件名不返回任何内容

时间:2010-01-13 09:01:29

标签: sql mysql

我有这个SELECT查询,它从指定的表中返回任何内容,但该文件的路径存储在该表中;

SELECT * from tableName WHERE imageFile =“C:\ Documents and Settings \ Albert Bayita \ Desktop \ MovieImages \ TheLordOfTheRingsTheFellowship.jpg”;

感谢任何建议。

3 个答案:

答案 0 :(得分:4)

反斜杠字符是MySQL中字符串中的转义字符。要在查询中的字符串文字中添加反斜杠,必须使用双反斜杠将其转义。 SQL中的字符串也使用撇号作为分隔符,而不是引号。

SELECT * from tableName WHERE imageFile = 'C:\\Documents and Settings\\Albert Bayita\\Desktop\\MovieImages\\TheLordOfTheRingsTheFellowship.jpg';

最好的选择当然是使用参数化查询。

答案 1 :(得分:0)

您的表格tableName可能没有imageFile行,但确切路径正确。

可能路径的存储方式不同(可能是\引用了\)?

您如何知道确实存在与您在查询中输入完全相同的内容?

答案 2 :(得分:0)

为什么要将整个路径存储在数据库中

你应该找出一些只存储图像名称的东西

或者如果你想继续存储整个路径

尝试

加倍反斜杠\

SELECT * from tableName WHERE imageFile = "C:\\Documents and Settings\\Albert Bayita\\Desktop\\MovieImages\\TheLordOfTheRingsTheFellowship.jpg";