У меня есть база данных MySQL PHPMyAdmin, где я случайно добавил две одинаковые части. Для меня они дубликаты, но с точки зрения фактических данных они не являются. Есть несколько столбцов в таблице part_lists
:Как избавиться от аналогичных дубликатов от MySQL
+-----+---------------------------+----------+
| id | Part Name | Quantity |
+-----+---------------------------+----------+
| 1 | Part A (1/4") | 0 |
| 2 | Part B | 3 |
| 3 | Part D | 4 |
| 4 | Part E | 9 |
| ... | a lot of part names later | ... |
| 95 | Part A (1/4") (0 free) | 4 | <-- newly appended
| 96 | Part B (-1 free) | 5 | <-- newly appended
| 97 | Part C (10 free) | 1 | <-- newly appended
Таблица Пояснение:
id
является unique
номер и автоматически генерируется с помощью таблицы. Quantity
- количество запасных частей. id#1
и id#95
- это одна и та же часть, но id#95
- это обновленная информация - т.е. предназначалась для замены/обновления id#1
. Там никогда не должно быть строки «(0 free)
» в конце части - и, следовательно, ее нужно удалить. Это также тот же случай для id#2
и id#96
. id#97
- это новая деталь, и мне просто нужно избавиться от строки «(10 free)
» в конце. id#3
и id#4
- это старые части, которые не были обновлены и, следовательно, должны быть оставлены такими, какие они есть.
Вопрос: новые части, которые я прилагаемая в основном (не все) имеют «([some number] free)
» строка добавляется к концу Part
. Иногда эти части уникальны (т. Е. Не имеют дубликатов). Вопрос: Как мне избавиться от дубликатов, но убедитесь, что информация обновлена. Вопрос: Может ли это быть сделано с кодом MySQL? Если не так, как бы я сделал это с помощью bash !?
Идеальный выход:
+-----+---------------------------+----------+
| id | Part Name | Quantity |
+-----+---------------------------+----------+
| 1 | Part A (1/4") | 4 | <-- Updated
| 2 | Part B | 5 | <-- Updated
| 3 | Part D | 4 |
| 4 | Part E | 9 |
| ... | a lot of part names later | ... |
| 95 | Part C | 1 | <-- newly appended
Список будет относительно короче, как часть информации, приложенном обновила данные из ранее.