我有一个数据库,其中一些字段被设置为索引.我不知道这是否与问题有关,但在创建查询时我得不到任何结果.以下是我在数据库中设置的方法.该数据库有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的值存在并存在.
我究竟做错了什么?
它看起来像你的问题是你用单引号括起你的列名.这导致MySQL将其视为字符串而不是列名,因此您将字符串'fieldA'与长字符串进行比较.删除列名称周围的引号,你应该很高兴.
SELECT * FROM tableA WHERE fieldD='A LONG STRING WITH SYMBOLS AND CHARCTERS';
Run Code Online (Sandbox Code Playgroud)