簡體   English   中英

如何避免表單中文本字段在數據庫中的重復

[英]How to avoid duplicates in a database from a textfield in a form

對不起,這個問題之前可能已經被問過,但我找不到任何令人滿意的答案,所以我在這里 go:

我有一個 web 表格。 用戶可以在文本字段中輸入公司名稱。 然后使用此文本字段的內容來檢查該公司是否已存在於數據庫中,查詢如下:

SELECT * FROM customers WHERE company_name='textfieldContent';

如果查詢沒有返回結果,則將公司添加到數據庫中。 問題是,如果某些人以不同的方式書寫公司名稱(例如“Company”和“Company Ltd.”)或使用拼寫錯誤,則查詢不會返回任何結果,並且我的數據庫中最終會有幾行引用相同的公司。

有誰知道如何防止這種情況? 謝謝。

該網站是順便用Struts2開發的。

聽起來您需要在 web 表單中添加一些前端驗證,以縮小范圍。 您可以使用下拉選擇來代替自由文本框,然后如果用戶找不到公司名稱,則可以選擇將其添加到自由文本中。

你可以編寫一些代碼來刪除所有的前綴和后綴,但是你會有一百萬個邊緣情況,最終很難維護。

如果您嘗試使用確切的公司名稱進行搜索,那么您可以試試這個

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

或者你可以試試這個

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM