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