查询电子邮件无效

时间:2014-06-30 09:25:44

标签: mysql

当我运行电子邮件查询时,它返回null。

SELECT * FROM `cookie_auth` WHERE `email` = 'test@test.com'

所以我在电子邮件列中插入了另一行只有“test”,它可以正常工作。

SELECT * FROM `cookie_auth` WHERE `email` = 'test'

不知道这可能是有用的信息,但我在Windows 8.1上,排序是armscii8_general_ci,引擎是InnoDB。

编辑:另一个注意事项,如果有帮助的话,电子邮件是主键。

编辑2:我想也许表格在某种程度上被打破了,我一直在用饼干,散列令牌和散列密码来搞乱它。我的另一张桌子用电子邮件查询得很好。任何可能的解决方案?最好放下桌子并创建一个新的桌子吗?

编辑3:这是整理,我用latin_swedish_ci创建了一个新表,现在电子邮件查询运行正常。还有为什么会有一次投票呢?

4 个答案:

答案 0 :(得分:1)

这个怎么样:

SELECT * FROM `cookie_auth` WHERE `email` LIKE '%test@test.com%'

答案 1 :(得分:0)

尝试使用TRIM功能,如

SELECT * FROM `cookie_auth` WHERE TRIM(`email`) = 'test@test.com'

OR

SELECT * FROM `cookie_auth` WHERE `email` LIKE '%test@test.com%'

答案 2 :(得分:0)

您肯定需要使用 TRIM()功能作为

select * from cookie_authwhere trim(email) ='test@test.com';

这是工作的sql小提琴示例。

SQLFiddle

答案 3 :(得分:0)

尝试此操作而不是单独使用电子邮件。 如果您想要准确的值,请使用以下查询

SELECT * FROM `cookie_auth` WHERE LTRIM(RTRIM(`email`)) = 'test@test.com'