mysql简单where子句不起作用?

mysql简单where子句不起作用?,mysql,sql,Mysql,Sql,这个代码simple where子句不起作用有什么问题?实际上问题在于insert的代码中,我认为表中您的姓氏可能在mir Database changed mysql> select * from userinfo; +-----------+----------+-----------------------+------------+ | firstname | lastname | username | password | +-----------

这个代码simple where子句不起作用有什么问题?实际上问题在于insert的代码中,我认为表中您的姓氏可能在
mir

Database changed

mysql> select * from userinfo;
+-----------+----------+-----------------------+------------+
| firstname | lastname | username              | password   |
+-----------+----------+-----------------------+------------+
|  asif     |  kolu    |  ashufound            |  123456    |
|  faisal   |  samad   |  tfhgfhgfh@gmail.com  |  123456    |
|  kamran   |  shafat  |  kamthemaam           |  kamoos    |
|  ubaid    |  mir     |  sadfsfsff@yahoo.com  |  qwertasd  |
|  majid    |  mir     |  zsffsa               |  afdfdsf   |
+-----------+----------+-----------------------+------------+
5 rows in set (0.00 sec)

mysql> SELECT  * from userinfo WHERE lastname = 'mir';
Empty set (0.10 sec)

mysql> SELECT  * from userinfo WHERE lastname='mir';
Empty set (0.00 sec)

1-在“和平号”之前或之后可能有空格

2-在“mir”之前或之后,甚至在其字符之间,可能有特殊(不可见)字符

要解决这个问题,我建议先这样做:

   mir
  ^---^---look and remove spaces from here in your table
然后,运行以下命令检查:

Update userinfo
    set lastname = 'mir' 
    where (username = 'sadfsfsff@yahoo.com') or (username = 'zsffsa')

我在这里使用select查询where子句不工作查询是

Select * from userinfo where lastname = 'mir'
从id为'96'的表中选择* 此查询将生成0行,但

当我尝试

select * from table_t where id = '96' 从id为'96'的表中选择* 这个查询运行良好

当我尝试使用列名like时

select * from table_t where id like '96' 从id类似“96”的表中选择id 返回0行

id是自动生成的主键,没有空格

为什么???? 是否存在任何数据库问题??? 这个查询在我的本地机器上运行良好,但当我在线尝试时,它是不正常的


Thanx.

我看到了一些很好的答案,但是如果您不能为每个名称更新整个数据库中的前导或尾随空格,那么您可以编写稍微不同的select。如果是空间问题,试试这个

select id from table_t where id like '96' 如果这不起作用,试着像那样尝试一下,看看是否有结果。这可能有助于调试

SELECT  * from userinfo WHERE TRIM(lastname) = TRIM('mir')

您确定lastname没有尾随空格吗?您可以尝试使用
SELECT*from userinfo,其中姓氏为“%mir%”
?@echo\u Me:我说过解决方案吗?这只是了解是否有额外空间的一种方式。他也可以使用
TRIM
来检查它,如果你想要更准确的话。yaa能够做到这一点,但实际上我从struts表单输入数据,现在我不知道发生了什么我很高兴你没有用纯文本存储密码
SELECT * FROM userinfo WHERE lastname LIKE '%mir%'