sql - 查找字段中的字符串

标签 sql mysql string

这可能很容易,但我对此很陌生,所以就这样吧。我正在尝试查找是否可以在 mysql 数据库字段中找到字符串。

以下只会查找完全匹配

SELECT mycontact, userid
FROM mytable
WHERE email = #form.email#'

如果form.email中包含email字段,下面将返回结果

 SELECT mycontact, userid
 FROM mytable
 WHERE email like '%#form.email#%'

但是这些并不能给出我想要的。我想要与上面相反的。电子邮件字段可以包含多个电子邮件地址。我希望能够输入一个值,即 form.email 并搜索表并在“电子邮件”字段中找到包含 form.emal 的任何记录。 %LIKE% 不起作用,因为我不想检索多个。如果有人输入 cd@gmail.com,我不想得到 abcd@gmail.com、bcd@gmail.com 等。这是困难的部分。感谢帮助。我使用的是MYSQL数据库。谢谢。

最佳答案

您需要重新设计您的架构,在列中包含电子邮件列表是一种非常非常糟糕的设计,并且 SQL 的设计不能很好地处理它(正如您已经遇到的那样)。更好的是一个电子邮件表,其中每个联系人可以根据他们提供的电子邮件地址拥有一行或多行。

相信我,它会更好用,让你的生活更轻松。立即重新设计。

关于sql - 查找字段中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4201321/

相关文章:

sql - 如何获取特定存储过程中使用的所有表名称?

php - MySQL 选择每第三个结果并选择 2x 第三个结果?

sql - 检查大表中的完整重复行

mysql - regexp_replace 在数据库中反转数字字符串并在每个数字之间插入一个句点

php - FuelPHP 1.x 是否支持 DB 查询生成器的 ON DUPLICATE?

C++检查字符串中是否只存在以下字符

sql - 如何在 MS Access 中正确使用 "Not Equal"?

string - 在循环中连接字符串中的输入

Java - 是否有任何方法可以混淆/隐藏字符串以防止反编译?

c# - NHibernate 内连接仅获取某些列?