1. <i id='xXKW3'><tr id='xXKW3'><dt id='xXKW3'><q id='xXKW3'><span id='xXKW3'><b id='xXKW3'><form id='xXKW3'><ins id='xXKW3'></ins><ul id='xXKW3'></ul><sub id='xXKW3'></sub></form><legend id='xXKW3'></legend><bdo id='xXKW3'><pre id='xXKW3'><center id='xXKW3'></center></pre></bdo></b><th id='xXKW3'></th></span></q></dt></tr></i><div id='xXKW3'><tfoot id='xXKW3'></tfoot><dl id='xXKW3'><fieldset id='xXKW3'></fieldset></dl></div>

    2. <small id='xXKW3'></small><noframes id='xXKW3'>

    3. <legend id='xXKW3'><style id='xXKW3'><dir id='xXKW3'><q id='xXKW3'></q></dir></style></legend>
        <bdo id='xXKW3'></bdo><ul id='xXKW3'></ul>
    4. <tfoot id='xXKW3'></tfoot>

        删除 MySQL 中的重复行

        时间:2023-08-20
        • <small id='T8tyR'></small><noframes id='T8tyR'>

            <tbody id='T8tyR'></tbody>
          <tfoot id='T8tyR'></tfoot>
            <bdo id='T8tyR'></bdo><ul id='T8tyR'></ul>

            <i id='T8tyR'><tr id='T8tyR'><dt id='T8tyR'><q id='T8tyR'><span id='T8tyR'><b id='T8tyR'><form id='T8tyR'><ins id='T8tyR'></ins><ul id='T8tyR'></ul><sub id='T8tyR'></sub></form><legend id='T8tyR'></legend><bdo id='T8tyR'><pre id='T8tyR'><center id='T8tyR'></center></pre></bdo></b><th id='T8tyR'></th></span></q></dt></tr></i><div id='T8tyR'><tfoot id='T8tyR'></tfoot><dl id='T8tyR'><fieldset id='T8tyR'></fieldset></dl></div>

                  <legend id='T8tyR'><style id='T8tyR'><dir id='T8tyR'><q id='T8tyR'></q></dir></style></legend>
                  本文介绍了删除 MySQL 中的重复行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                  问题描述

                  我有一个包含以下字段的表格:

                  I have a table with the following fields:

                  id (Unique)
                  url (Unique)
                  title
                  company
                  site_id
                  

                  现在,我需要删除具有相同 title、company 和 site_id 的行.一种方法是使用以下 SQL 和脚本 (PHP):

                  Now, I need to remove rows having same title, company and site_id. One way to do it will be using the following SQL along with a script (PHP):

                  SELECT title, site_id, location, id, count( * ) 
                  FROM jobs
                  GROUP BY site_id, company, title, location
                  HAVING count( * ) >1
                  

                  运行此查询后,我可以使用服务器端脚本删除重复项.

                  After running this query, I can remove duplicates using a server side script.

                  但是,我想知道这是否可以仅使用 SQL 查询来完成.

                  But, I want to know if this can be done only using SQL query.

                  推荐答案

                  一个非常简单的方法是在 3 列上添加一个 UNIQUE 索引.在编写 ALTER 语句时,请包含 IGNORE 关键字.像这样:

                  A really easy way to do this is to add a UNIQUE index on the 3 columns. When you write the ALTER statement, include the IGNORE keyword. Like so:

                  ALTER IGNORE TABLE jobs
                  ADD UNIQUE INDEX idx_name (site_id, title, company);
                  

                  这将删除所有重复的行.作为额外的好处,以后重复的 INSERT 会出错.与往常一样,您可能希望在运行类似操作之前进行备份...

                  This will drop all the duplicate rows. As an added benefit, future INSERTs that are duplicates will error out. As always, you may want to take a backup before running something like this...

                  这篇关于删除 MySQL 中的重复行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                  上一篇:插入 MySQL 表或更新(如果存在) 下一篇:加入与子查询

                  相关文章

                  最新文章

                    <bdo id='ylMNd'></bdo><ul id='ylMNd'></ul>

                  <i id='ylMNd'><tr id='ylMNd'><dt id='ylMNd'><q id='ylMNd'><span id='ylMNd'><b id='ylMNd'><form id='ylMNd'><ins id='ylMNd'></ins><ul id='ylMNd'></ul><sub id='ylMNd'></sub></form><legend id='ylMNd'></legend><bdo id='ylMNd'><pre id='ylMNd'><center id='ylMNd'></center></pre></bdo></b><th id='ylMNd'></th></span></q></dt></tr></i><div id='ylMNd'><tfoot id='ylMNd'></tfoot><dl id='ylMNd'><fieldset id='ylMNd'></fieldset></dl></div>
                  <legend id='ylMNd'><style id='ylMNd'><dir id='ylMNd'><q id='ylMNd'></q></dir></style></legend>

                  <small id='ylMNd'></small><noframes id='ylMNd'>

                  1. <tfoot id='ylMNd'></tfoot>