我有一张包含一些电子邮件地址的表格。该地址当然是一个字符串,我在创建表时将其设置为VARCHAR(100)DEFAULT NULL。
现在,当我使用:
SELECT * FROM emails;
它工作正常,如果我也选择使用ID,它可以正常工作
SELECT * FROM emails WHERE id = 1;
但如果我试图找到特定的电子邮件
SELECT * FROM emails WHERE address = 'email@host.com'
它根本不起作用。它不返回与此匹配的行,但 是行匹配,因为它出现在SELECT * FROM emails
查询中。
这里可以发生什么?为什么WHERE子句不起作用?
编辑:数据来自以下导入
LOAD DATA LOCAL INFILE 'c:/users/user/dev/mysql/emails.txt'
INTO TABLE emails
FIELDS terminated by ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
(address)
答案 0 :(得分:2)
该字段中可能包含前导或尾随字符。试试这个:
SELECT * FROM emails WHERE address LIKE '%email@host.com%'