Подскажите пожалуйста как удалить из таблицы на 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
Команда зависает и ничего не происходит. Пробовал через консоль сервера.
1) Попробуй
DELETE FROM `sone_companies` WHERE category LIKE 'Рубрики'
или даже
DELETE FROM `sone_companies` WHERE category LIKE '%Рубрики%'
У тебя таблица ненормализована, одинаковые 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 как было описано выше
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Как с помощью HttpListener понять, когда веб-браузер клиента хочет от меня css файлик с определенным именем, а когда - js-ик или html-ку? Оперируйте словами...