Как удалить из огромной таблицы поля MySQL?

224
12 декабря 2017, 17:16

Подскажите пожалуйста как удалить из таблицы на 1,5 миллиона строк, строки где встречается в поле "category" = 'Рубрики'. В поиске phpMyAdmin выдаёт 15 строк, но при нажатии кнопки обзора вываливается ошибка 414. А при команде:

DELETE FROM `sone_companies` WHERE category = 'Рубрики'

Выдаёт пустой результат, также подскажите пожалуйста как удалить дубли по совпадению в 3-ёх полях 'current_id', 'name' и 'address'? Пробую вот так:

DELETE t1 FROM `sone_companies` t1, `sone_companies` t2 WHERE t1.current_id=t2.current_id AND t1.name = t2.name AND t1.address = t2.address

Команда зависает и ничего не происходит. Пробовал через консоль сервера.

Answer 1

1) Попробуй

 DELETE FROM `sone_companies` WHERE category LIKE 'Рубрики'

или даже

 DELETE FROM `sone_companies` WHERE category LIKE '%Рубрики%'
Answer 2

У тебя таблица ненормализована, одинаковые id. По второй части твоего вопроса ответ такой, если речи идет об удалении совпадений:

DELETE   FROM sone_companies WHERE exists
(SELECT current_id, address, name  COUNT(current_id) FROM sone_companies 
WHERE 
sone_companies.current_id=current_id GROUP BY  
current_id, address, name having count(current_id)>1
AND count(address)>1 AND count(name )>1)

Хотя конечно вместо прямого сравнения можно и лучше для строк использовать LIKE как было описано выше

READ ALSO
c# клиент для asterisk [дубликат]

c# клиент для asterisk [дубликат]

Данный вопрос уже был задан и имеет решение:

251
C# implicit DataRow to class

C# implicit DataRow to class

Здравствуйте помогите конвертировать DataRow to class Car(impicit

303
C# WebServer, возвращающий контент сайта

C# WebServer, возвращающий контент сайта

Как с помощью HttpListener понять, когда веб-браузер клиента хочет от меня css файлик с определенным именем, а когда - js-ик или html-ку? Оперируйте словами...

259