这可能很容易,但我对此很陌生,所以就这样吧。我正在尝试查找是否可以在 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/