如何避免表单中的文本字段在数据库中出现重复项

对不起,这个问题可能之前曾有人问过,但我找不到令人满意的答案,所以我去了:

我有一个网络表格。用户可以在文本字段中输入公司名称。然后使用此文本字段的内容通过查询来检查该公司是否已存在于数据库中:

SELECT * FROM customers WHERE company_name='textfieldContent';

如果查询没有返回结果,则将公司添加到数据库中。问题是,如果有人用不同的方式写公司名称(例如“ Company”和“ Company Ltd.”)或输入错字,查询将不会返回任何结果,并且我最终在数据库中引用相同的行公司。

有人对如何防止这种情况有想法吗?谢谢。

顺便说一下,网站是用Struts2开发的。

to71229 回答:如何避免表单中的文本字段在数据库中出现重复项

听起来您需要在Web表单中添加一些前端验证,以缩小范围。您可以不选择自由文本框,而是使用下拉菜单,然后,如果用户找不到公司名称,则可以选择以自由文本添加公司名称。

您可以编写一些代码来删除所有前缀和后缀,但是您将遇到一百万个边缘情况,最终将很难维护。

,

如果您要搜索确切的公司名称,则可以尝试

SELECT * FROM customers WHERE company_name LIKE '%textfieldContent%' LIMIT 1

或者您可以尝试

SELECT * FROM customers WHERE company_name LIKE '%textfieldContent%'
本文链接:https://www.f2er.com/3094420.html

大家都在问