Mysql 选择*从中找不到所有记录

Mysql 选择*从中找不到所有记录,mysql,sql,select,command,where,Mysql,Sql,Select,Command,Where,当我打字时: select * from 'saleslog' where 'Status' = 'Pending'; 或 或 尽管在Status列中有数百行具有“Pending”值,但我只显示了3条记录。当我查找“待定”以外的值时,也会发生同样的情况 但是,如果我输入: select * from saleslog where status like "%Pending%"; 然后显示大多数记录(如果不是所有记录的话)。挂起值前后绝对没有空格或任何其他字符 我想知道表“saleslog”是

当我打字时:

select * from 'saleslog' where 'Status' = 'Pending';

尽管在Status列中有数百行具有“Pending”值,但我只显示了3条记录。当我查找“待定”以外的值时,也会发生同样的情况

但是,如果我输入:

select * from saleslog where status like "%Pending%";
然后显示大多数记录(如果不是所有记录的话)。挂起值前后绝对没有空格或任何其他字符

我想知道表“saleslog”是否需要修复,如果需要,如何修复?我对SQL有点陌生。

尝试以下方法:

UPDATE `saleslog` SET `status` = TRIM(`status`);
SELECT * FROM `saleslog` WHERE `status` = 'Pending';

字段中可能有隐藏字符,您无法看到,例如制表符、回车符或换行符。您是否尝试过对字段进行更新以尝试更正它?可能尝试运行下面的更新查询,然后再次运行
选择
查询:

UPDATE saleslog SET status = 'Pending' WHERE status LIKE '%Pending%'  

我得到“ERROR 1064(42000):您的SQL语法有错误:…”我还使用第三方PHP软件,如Adminder Editor,在其中搜索记录会得到相同的结果。哦,我刚刚复制并粘贴了您的代码,它确实在状态列中显示了三条具有“Pending”值的记录。这次没有错——也许是我第一次打错了。仍有剩余的100条记录未找到/显示。我已按照您的建议进行了尝试,以下是我得到的结果,但随后我按照cmreynol的建议进行了操作,似乎奏效了。mysql>更新
saleslog
设置
status
=TRIM(
status
);查询OK,0行受影响(0.01秒)行匹配:2007更改:0警告:0从
salelog
中选择*其中
状态
=“挂起”;这里的桌子。。。集合中的3行(0.00秒)更新saleslog集合状态='Pending',其中状态为'%Pending%'查询OK,240行受影响(0.21秒)行匹配:243更改:240警告:0这就成功了。非常感谢。似乎所有行现在都显示出来了。
UPDATE `saleslog` SET `status` = TRIM(`status`);
SELECT * FROM `saleslog` WHERE `status` = 'Pending';
UPDATE saleslog SET status = 'Pending' WHERE status LIKE '%Pending%'