当前位置: 首页 > 知识库问答 >
问题:

mysql为varchar字段选择不工作

步致远
2023-03-14

我有一个带有varchar类型电子邮件字段的表。

select * 
from `table_name` 
WHERE email='some email'

除表中的一封电子邮件外,其他所有电子邮件都能正常工作。

共有3个答案

哈扬
2023-03-14

在我的例子中,问题是当在代码中传递变量时,它也会在双引号和变量之间留下空格,当删除该变量时,不需要放入%字符

这是我的错误代码,请查看变量前后的空格:

$resul = $mysqli->query("SELECT * FROM `people` WHERE `user` = ' ".$user." '");

这是正确的方法:

$resul = $mysqli->query("SELECT * FROM `people` WHERE `user` = '".$user."'");

删除这些空格,您将不需要使用通配符%

我希望这个答案对你有帮助。

唐裕
2023-03-14

可能是您的电子邮件中有空格。您可以检查电子邮件的长度。

SELECT length(email) 
FROM  `table_name`
WHERE  `email` LIKE  '%email%'

使用通配符

select * from table_name 
where email like '%some email%' 

或访问此处了解更多组合http://www.w3schools.com/sql/sql_wildcards.asp

寿阳华
2023-03-14

当这适用于您有问题的记录时

select * from table_name 
where email like '%some email%' 

然后在数据中有前导空格或尾随空格。

恢复更新现有表数据,如下所示

update table_name
set email = trim(email)
where email like '%some email%' 
 类似资料:
  • 问题内容: 我有一个看起来像这样的mysql表: 我希望能够查询得到多行,每一列一个。例如: 这会给我: 我需要用什么来制定这样的查询? 问题答案: 您必须首先将每个指定字段的数据应用于结果。 询问 签 出 SQLFIDDLE

  • 问题内容: 如何根据“ DateAdded”字段选择一个字段的使用天数? 例如: 问题答案: 使用: 参考:DATEDIFF DATEDIFF()返回expr1到expr2,表示为从一个日期到另一个日期的天数值。

  • 问题内容: 我只是想知道我可以在php中执行哪种mysql命令,它将从某个表中选择所有项目,其中columna不等于x并且columnb不等于x 就像是: 有任何想法吗? 问题答案: 关键是sql查询,您将其设置为字符串: 请注意,有很多方法可以指定NOT。另一个效果很好的是: 这是如何使用它的完整示例: 您可以在上述while循环内做任何您想做的事情。作为元素访问表中的每个字段,这意味着将为您提

  • 问题内容: 考虑下表: 如何编写仅返回 数字 值的select语句 SQLFiddle 问题答案:

  • 问题内容: 在MySQL中,是否只能选择存在某些内容的列? 例如,我有以下查询: 我试图仅选择电话以813开头并且phone2中包含某些内容的行。 问题答案: 比较空字符串的值: 请注意,值解释为。

  • 我正试图创建一个Spark df,它包含顶级字段和嵌套字段,这些字段来自包含与json对象的键和值相对应的键和值的字典列表,我在选择嵌套列时遇到了问题。 以下是我目前掌握的情况: 输入是包含JSON值的字典列表: 期望输出: *请注意,我不需要重命名列,但必须缩短它们以适应一行 这是我到目前为止的代码: 我只能选择uid,这是顶级字段,所以我猜我在选择嵌套值时出错了。 请帮忙。