当前位置: 首页 > 面试题库 >

避免重复输入mysql数据库的最佳方法

连正信
2023-03-14
问题内容

我有一个包含3列的表格-
id(pk),pageId(fk),名称。我有一个PHP脚本,它将大约5000条记录转储到表中,其中大约一半是重复的,具有相同的pageId和名称。pageId和名称的组合应该是唯一的。当我遍历php中的脚本时,防止重复项被保存到表中的最佳方法是什么?


问题答案:

第一步是在表上设置唯一键:

ALTER TABLE thetable ADD UNIQUE INDEX(pageid, name);

然后,当有重复项时,您必须决定要做什么。你应该:

  1. 忽略它?

    INSERT IGNORE INTO thetable (pageid, name) VALUES (1, "foo"), (1, "foo");
    
  2. 覆盖先前输入的记录?

    INSERT INTO thetable (pageid, name, somefield)
    

    VALUES (1, “foo”, “first”)
    ON DUPLICATE KEY UPDATE (somefield = ‘first’)

    INSERT INTO thetable (pageid, name, somefield)
    VALUES (1, “foo”, “second”)
    ON DUPLICATE KEY UPDATE (somefield = ‘second’)

  3. 更新一些柜台?

    INSERT INTO thetable (pageid, name)
    

    VALUES (1, “foo”), (1, “foo”)
    ON DUPLICATE KEY UPDATE (pagecount = pagecount + 1)



 类似资料:
  • 问题内容: 我是mongodb的新手。我可以知道如何避免重复输入。在关系表中,我们使用主键来避免它。我可以知道如何使用Java在Mongodb中指定它吗? 问题答案: 在选项中使用索引。 您也可以跨多个字段执行此操作。 有关 更多详细信息和示例, 请参阅 文档中的 此部分 。 MongoDB索引可以有选择地施加一个 唯一的键约束 ,以确保不会插入任何索引键值与现有文档值匹配的文档。 如果希望从唯一

  • 本文向大家介绍避免在MongoDB中重复输入?,包括了避免在MongoDB中重复输入?的使用技巧和注意事项,需要的朋友参考一下 为了避免在MongoDB中重复输入,可以使用。语法如下- 让我们实现以上语法。避免在MongoDB中重复条目的查询如下- 现在在上面的集合中插入一些记录。插入记录的查询如下- 每当您尝试再次插入相同记录时,都会出现此错误- 让我们插入另一条记录。查询如下- 在method

  • 我有一个严重的问题,我没有弄清楚。我有一个表名叫做“结果”。我想要实现的是,当我插入新记录时,它会正确地插入数据库。 在这个水平上,我的脚本运行良好。但是我想第二次点击添加新结果记录时,如果之前输入了数据,那么它将显示我的数据,如果我想更新我的数据,我可以。如果以前没有输入数据,那么我会将数据插入数据库。我成功地限制用户输入重复数据,但我没有成功地在同一页上显示数据。 我有一个显示测试页面,当我点

  • 问题内容: 我的网站最近遭到了一个无辜的代码的攻击: 那里没有SQL调用,因此我不担心SQL注入。但是,显然,SQL并不是唯一的注入方式。 该网站提供了解释以及避免代码注入的一些示例:http : //www.theserverpages.com/articles/webmasters/php/security/Code_Injection_Vulnerabilities_Explained.ht

  • 我认为这是一个常见的问题,但我还没有找到任何解决方案,也许我没有在谷歌上正确地搜索这个问题。总之,我有一个在表中插入多行的过程(在同一个事务中的许多其他事情中),但是这个过程是在多个线程和多个服务器中执行的。 描述是唯一的,但不作为数据库(旧版)中的约束,我想避免插入重复的描述。我已经隔离了搜索并插入到一个独立的事务中,我想在选择之前锁定表,如果它不存在,则在“保存”之后释放它。 我想要这样的东西

  • 我目前正在开发一个Android应用程序,我使用Firebase(实时功能)作为后端服务。此外,我开发了这个功能,如下所示。 扩展代码工作得很好,它检查现有数据并显示Toast消息,但在数据仍进入数据库后,我想消除重复数据。