Php 如何避免重复插入数据?

Php 如何避免重复插入数据?,php,mysql,repeat,Php,Mysql,Repeat,我希望允许所有应用程序用户为其产品添加自己的类别。产品可能会有很大的变化,所以这不仅仅是我可以预测和插入自己之前的东西 但是,如果我们允许所有用户添加他们自己的类别,我们可能会遇到以下问题: 用户A插入一个名为“水果”的类别 用户B插入一个名为“来自树的食物”的类别 这是一个虚构的例子,但也许你会遇到问题 一般来说,我们有什么方法避免重复我们的系统 我完全不知道我们可能有什么方法,所以一些资源,链接,任何东西,都是非常受欢迎的 非常感谢。分层分类,这样当遇到这种情况时,可以干净地处理。然后,当有

我希望允许所有应用程序用户为其产品添加自己的类别。产品可能会有很大的变化,所以这不仅仅是我可以预测和插入自己之前的东西

但是,如果我们允许所有用户添加他们自己的类别,我们可能会遇到以下问题:

用户A插入一个名为“水果”的类别

用户B插入一个名为“来自树的食物”的类别

这是一个虚构的例子,但也许你会遇到问题

一般来说,我们有什么方法避免重复我们的系统

我完全不知道我们可能有什么方法,所以一些资源,链接,任何东西,都是非常受欢迎的


非常感谢。

分层分类,这样当遇到这种情况时,可以干净地处理。然后,当有人出现并删除子类别时,元素可以转储到父类别中。

这不是最友好的解决方案,但您可以将所有新条目添加到由选定数量的用户主持的队列中。只有在批准后,新条目才会出现。

如果我理解为:

首先,推荐的类别名称,如果用户开始类型为fru,则显示一个名为SD FROUTS等的exists CARGORIES

我使用别名,例如:

表格类别:

id (serial)
name (varchar)
aliasof (bigint)
从后端,我列出了添加的新类别,如果存在,则建立关系:

Supose:

1 fruits         0
2 fruits of tree 1

事实上,问题是我们需要找到一种自动化的方法来做这件事,因为我们将没有资源来处理它。@MEM一个自动化的解决方案,当水果存在时,避免从树上获得食物?!你可能需要比编写该算法更少的时间来进行调整:-@MEM:你的例子需要IBM Watson机器从语言上对水果和来自树木的食物之间的潜在意义重叠进行推理。即使是从事本体论研究的专业人类哲学家也很难把你的例子整理出来。事实上,作为一个以英语为母语的人,我不知道他们是相同的还是不同的。@MEM:我们没有重复。我想你是在开玩笑吧。如果可能,解释[单元测试]和[TDD]之间的差异。意思重叠?没有重叠?你怎么知道?作为一个人,你将使用什么测试来确定它们是否是重复的?@MEM这还取决于你的系统的通用性/开放性,也许一个解决方案是为所有用户提供他们自己的类别,并将它们限制在他们自己的类别内。毕竟,最终类别的数量只会是产品数量的一小部分。请再解释一下。我们需要避免这种情况的主要原因是:a允许以后比较b避免数据库垃圾。谢谢。不幸的是,用户没有技术意识,通常他们只会插入任何内容,即使我们向他们提供了一些替代方案,我们警告他们,如果这里列出了类似的数据,请避免引入新数据。事实上,这就是这里的挑战