SQL запросы для удаления полей в таблице БД

Проблемы с установкой или работой phpBB 3.3.x? Получите помощь здесь!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12751
Стаж: 13 лет 8 месяцев
Благодарил (а): 159 раз
Поблагодарили: 2276 раз

Re: SQL запросы для удаления полей в таблице БД

Сообщение Татьяна5 »

Подозреваю, что выполняет запрос, снова долго
Аватара пользователя
romaamor
phpBB 3.0.6
Сообщения: 2369
Стаж: 13 лет
Откуда: Одесса
Благодарил (а): 620 раз
Поблагодарили: 149 раз

Re: SQL запросы для удаления полей в таблице БД

Сообщение romaamor »

Татьяна5 писал(а): 20.01.2025 15:45 Подозреваю, что выполняет запрос, снова долго
Тогда подожду.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16947
Стаж: 18 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 549 раз
Поблагодарили: 1699 раз

Re: SQL запросы для удаления полей в таблице БД

Сообщение rxu »

Как вариант. MySQL 8.0.29 и выше поддерживает "мгновенное" изменение таблиц с операциями DROP COLUMN. Работает это примерно так:
ALTER TABLE `phpbb_posts` DROP COLUMN `points_attachment_received`, ALGORITHM=INSTANT;

Скорость удаления должна быть выше примерно на 2 порядка.

Документация: https://dev.mysql.com/doc/refman/8.0/en ... ntax-notes
Последний раз редактировалось rxu 20.01.2025 18:55, всего редактировалось 1 раз.
Причина: Опечатка в SQL запросе.
Изображение
Аватара пользователя
romaamor
phpBB 3.0.6
Сообщения: 2369
Стаж: 13 лет
Откуда: Одесса
Благодарил (а): 620 раз
Поблагодарили: 149 раз

Re: SQL запросы для удаления полей в таблице БД

Сообщение romaamor »

romaamor писал(а): 20.01.2025 16:03 Тогда подожду.
Облом. Отрубился сервер из-за нагрузки.

Отправлено спустя 8 минут 43 секунды:
Но поле points_attachment_received стёрлось.

Отправлено спустя 3 минуты 54 секунды:
rxu писал(а): 20.01.2025 16:14 MySQL 8.0.29 и выше поддерживает "мгновенное" изменение таблиц с операциями DROP COLUMN.
У меня MySQL(i) 8.0.40.
rxu писал(а): 20.01.2025 16:14Документация:
Не чего не понял.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16947
Стаж: 18 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 549 раз
Поблагодарили: 1699 раз

Re: SQL запросы для удаления полей в таблице БД

Сообщение rxu »

romaamor писал(а): 20.01.2025 18:12 Не чего не понял.
Я привел пример запроса, попробуйте по аналогии что-нибудь удалить.

Отправлено спустя 3 минуты 3 секунды:
А тип таблиц какой - MyISAM или InnoDB?
Изображение
Аватара пользователя
romaamor
phpBB 3.0.6
Сообщения: 2369
Стаж: 13 лет
Откуда: Одесса
Благодарил (а): 620 раз
Поблагодарили: 149 раз

Re: SQL запросы для удаления полей в таблице БД

Сообщение romaamor »

rxu писал(а): 20.01.2025 18:21 попробуйте по аналогии что-нибудь удалить.
Ошибка
Статический анализ:

Найдено 1 ошибок при анализе.

Нераспознанная операция изменения. (near ";" at position 72)
ALTER TABLE `phpbb_posts` DROP `points_poll_received`, ALGORITHM=INSTANT;

#1846 - ALGORITHM=INSTANT is not supported. Reason: InnoDB presently supports one FULLTEXT index creation at a time. Try ALGORITHM=COPY/INPLACE.

Отправлено спустя 1 минуту 8 секунд:
rxu писал(а): 20.01.2025 18:24 А тип таблиц какой - MyISAM или InnoDB?
А где можно посмотреть ?

Отправлено спустя 8 минут 59 секунд:
rxu писал(а): 20.01.2025 18:24 А тип таблиц какой - MyISAM или InnoDB?
Тип - InnoDB
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16947
Стаж: 18 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 549 раз
Поблагодарили: 1699 раз

Re: SQL запросы для удаления полей в таблице БД

Сообщение rxu »

romaamor писал(а): 20.01.2025 18:35 Нераспознанная операция изменения
А если без этих бэктиков? Просто ALTER TABLE phpbb_posts DROP COLUMN points_poll_received, ALGORITHM=INSTANT;

Отправлено спустя 1 минуту 5 секунд:
romaamor писал(а): 20.01.2025 18:35 ALTER TABLE `phpbb_posts` DROP `points_poll_received`
Тут вообще синтаксическая ошибка. DROP COLUMN должно быть, а не просто DROP. Исправил в посте выше.
Изображение
Аватара пользователя
romaamor
phpBB 3.0.6
Сообщения: 2369
Стаж: 13 лет
Откуда: Одесса
Благодарил (а): 620 раз
Поблагодарили: 149 раз

Re: SQL запросы для удаления полей в таблице БД

Сообщение romaamor »

rxu писал(а): 20.01.2025 18:52 А если без этих бэктиков? Просто
Ошибка
Статический анализ:

Найдено 1 ошибок при анализе.

Нераспознанная операция изменения. (near ";" at position 75)

ALTER TABLE phpbb_posts DROP COLUMN points_poll_received, ALGORITHM=INSTANT;

#1846 - ALGORITHM=INSTANT is not supported. Reason: InnoDB presently supports one FULLTEXT index creation at a time. Try ALGORITHM=COPY/INPLACE.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16947
Стаж: 18 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 549 раз
Поблагодарили: 1699 раз

Re: SQL запросы для удаления полей в таблице БД

Сообщение rxu »

Этот столбец входит в полнотекстовый индекс в данной таблице? Или в любой другой индекс.

Отправлено спустя 4 минуты 16 секунд:
Columns cannot be dropped from tables that use ROW_FORMAT=COMPRESSED, tables with a FULLTEXT index, tables that reside in the data dictionary tablespace, or temporary tables. Temporary tables only support ALGORITHM=COPY.
В общем, так как в данной таблице присутствует полнотекстовый индекс MySQL, данный трюк не будет работать. Можно попробовать сначала удалить индексы, но не уверен, что поможет.
Изображение
Аватара пользователя
romaamor
phpBB 3.0.6
Сообщения: 2369
Стаж: 13 лет
Откуда: Одесса
Благодарил (а): 620 раз
Поблагодарили: 149 раз

Re: SQL запросы для удаления полей в таблице БД

Сообщение romaamor »

rxu писал(а): 20.01.2025 18:57 Этот столбец входит в полнотекстовый индекс в данной таблице? Или в любой другой индекс.
:shock:
Даже не понял о чём речь. Вот как выглядят ети столбы в таблице phpbb_posts
Изображение
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16947
Стаж: 18 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 549 раз
Поблагодарили: 1699 раз

Re: SQL запросы для удаления полей в таблице БД

Сообщение rxu »

romaamor писал(а): 20.01.2025 19:02 Вот как выглядят ети столбы в таблице phpbb_posts
Это не то. Надо пробовать в админразделе удалить индекс "MySQL Fulltext", а затем повторить попытку удаления столбца.
Изображение
Аватара пользователя
romaamor
phpBB 3.0.6
Сообщения: 2369
Стаж: 13 лет
Откуда: Одесса
Благодарил (а): 620 раз
Поблагодарили: 149 раз

Re: SQL запросы для удаления полей в таблице БД

Сообщение romaamor »

rxu писал(а): 20.01.2025 19:04 Надо пробовать в админразделе
В phpMyAdmin ?
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16947
Стаж: 18 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 549 раз
Поблагодарили: 1699 раз

Re: SQL запросы для удаления полей в таблице БД

Сообщение rxu »

В phpBB.
Изображение
Аватара пользователя
romaamor
phpBB 3.0.6
Сообщения: 2369
Стаж: 13 лет
Откуда: Одесса
Благодарил (а): 620 раз
Поблагодарили: 149 раз

Re: SQL запросы для удаления полей в таблице БД

Сообщение romaamor »

Удалось удалить всё как советовал Siava. Но не все поля за раз, а по одному. Теперь в пункте stk, проверка изминений в БД -
Вы хотите заменить список ботов списком по умолчанию? Все существующие боты будут удалены и установлены боты из списка ботов стандартной установки.
После нескольких минут ошибка 504. Что можно сделать что бы и это исправить ? Помню когда то у меня стояло расширение глючное, которое добавляло список всех известных ботов.
Аватара пользователя
romaamor
phpBB 3.0.6
Сообщения: 2369
Стаж: 13 лет
Откуда: Одесса
Благодарил (а): 620 раз
Поблагодарили: 149 раз

Re: SQL запросы для удаления полей в таблице БД

Сообщение romaamor »

rxu писал(а): 20.01.2025 19:04 Надо пробовать в админразделе удалить индекс "MySQL Fulltext"
Индексы удалились. А вот при попытке создать заново ошибка - 504 Gateway Time-out.
Не хватает времени. Это критично или можно забить ?
И теперь там постоянно висит вот это -
Изображение

Вернуться в «Поддержка phpBB 3.3.x»