为什么MySQL总是不返回此查询的数据?

Ole*_*dia 0 mysql sql

我有一个数据库,其中一些字段被设置为索引.我不知道这是否与问题有关,但在创建查询时我得不到任何结果.以下是我在数据库中设置的方法.该数据库有90,000条记录,此表设置如下:

| fieldA  | fieldB | fieldC  | fieldD |

fieldA = index - CHAR
fieldB = index - CHAR
fieldC = index - CHAR
fieldD = index - VARCHAR
Run Code Online (Sandbox Code Playgroud)

如果我做:

SELECT * 
  FROM tableA 
 WHERE 'fieldD'='A LONG STRING WITH SYMBOLS AND CHARCTERS';
Run Code Online (Sandbox Code Playgroud)

我得到0结果,我知道fieldD的值存在并存在.

我究竟做错了什么?

tj1*_*111 5

它看起来像你的问题是你用单引号括起你的列名.这导致MySQL将其视为字符串而不是列名,因此您将字符串'fieldA'与长字符串进行比较.删除列名称周围的引号,你应该很高兴.

SELECT * FROM tableA WHERE fieldD='A LONG STRING WITH SYMBOLS AND CHARCTERS';
Run Code Online (Sandbox Code Playgroud)