如何检查未插入表中的重复值?

Posted

技术标签:

【中文标题】如何检查未插入表中的重复值?【英文标题】:How to check duplication of value not insert in Table? 【发布时间】:2020-11-27 05:16:19 【问题描述】:

您好,我在 MVC JQuery 中有一个问题。请解决这个问题。我真的很感谢你的帮助。让我解释一下我的担忧。

实际上,我有一个下拉列表,其中有一些项目列表,我只是将它们添加到表中,但是当我选择任何项目并添加到表中并再次选择该项目并尝试将其添加时,我想要该表我将收到“已经存在”的警报。但我无法做到这一点。

让我与你分享我的代码。

    $("#addToList").click(function (e) 
    e.preventDefault();

    if ($.trim($("#StockID").val()) == "" || $.trim($("#Quantity").val()) == "" || $.trim($("#Price").val()) == "")
        return;

    var productName = $("#StockID option:selected").text();
    var pid = $("#StockID option:selected").val();
    let price = $("#Price").val();
    let quantity = $("#Quantity").val();

    let detailsTableBody = $("#detailsTable tbody");
    var productItem = `<tr>
                            <td pid=$pid>
                                $productName
                            </td>
                            <td><span data-line_qty="$quantity" data-itemId="0" href="#" class="qtyItem" >$quantity</span></td>

                            <td>$price</td>
                            <td>$(parseFloat(price) * parseInt(quantity))</td>
                           <td><a data-line_total="$(parseFloat(price) * parseInt(quantity, 10))" data-itemId="0" href="#" class="deleteItem">Remove</a></td>
                        </tr>`;

    detailsTableBody.append(productItem);
    calc_total();
    clearItem();
);

让我分享我的输出

【问题讨论】:

你试图阻止这种情况的逻辑在哪里? 看来你在使用一些模板库,我不知道是哪一个。一种方法是将项目添加到数组中。在向表中添加新项目之前,请先检查数组。如果项目存在,则显示警报。如果不添加到数组,则添加到表中。 请记住,这不是永久的方法,如果您刷新页面,它将全部消失。 我有一个表格,我从中获取下拉列表中的值。当我从下拉列表中选择任何项目并单击添加到列表按钮时,该项目添加到下表中。如果我再次选择相同的项目并单击添加按钮,那么它将再次添加。我不想要这个。我希望我得到一个警报。请帮助我,这对我来说真的很难。我是 Jquery 的新手。 请不要发送垃圾语言标签 - 只包括您有疑问的语言。 【参考方案1】:

您可以使用 HashTable 或 set 来解决它。在选择项目时也推送到哈希表中并检查项目是否已经在哈希表代码中,然后显示警报消息。

你可以像这样实现 hashTable -

var itemsAdded = ;
if(itemsAdded[item])
  alert('Item is already added !');
 else 
  itemsAdded[item] = item;

【讨论】:

以上是关于如何检查未插入表中的重复值?的主要内容,如果未能解决你的问题,请参考以下文章

TSQL - 如何在插入之前根据不同列中的值检查值?

使用php脚本检查一个表中的重复记录并重复记录插入到另一个表中

Mysql触发器用于在插入前检查表中的重复记录

如何在没有重复的情况下在 hive 中执行 LEFT OUTER JOIN 以仅检查右表中的一个值?

防止 SQL 表中的重复值

如何使用 Java Spring Boot 在不插入新值的情况下更新表中的现有值