Кто хорошо знаком с SQL?

Частные объявления о покупке (автомобили, запчасти, аксессуары, неавтомобильные товары)
Аватара пользователя
Аш-какАй
Администратор
Администратор
Сообщения: 6271
Зарегистрирован: 25 фев 2007, 21:12
Откуда: Москва, Рязанка
Контактная информация:

Кто хорошо знаком с SQL?

#1

Сообщение Аш-какАй » 03 окт 2007, 21:46

Господа, кто у нас спец по SQL - нужно откатить запрос который я выполнил над таблицами форума:

Код: Выделить всё

ALTER TABLE `phpbb_topics` ADD INDEX (topic_last_post_id);
ALTER TABLE `phpbb_forums` ADD attached_forum_id MEDIUMINT(8) DEFAULT '-1' NOT NULL;

Понимаю, что можно и оставить все как есть - вроде все работает, но не хочется оставлять что-то недоделанным.
Что сделал этот запрос и как его откатить? :)

Аватара пользователя
Арёл
1500
1500
Сообщения: 1785
Зарегистрирован: 20 апр 2007, 21:33
Контактная информация:

#2

Сообщение Арёл » 04 окт 2007, 01:26

Аш-какАй
Слюшай, такие вапросы задаешь, что даже атвечать не удобно, ну! :goga:
Сорри за ОФФ!
По рукам себе уже настучал :yesyes: :(((
Четыре колеса возят тело, а два - душу.
HD FLHTCUI '09

Аватара пользователя
Leng
100
100
Сообщения: 101
Зарегистрирован: 10 июн 2007, 17:19
Откуда: Москва, СЗАО
Контактная информация:

#3

Сообщение Leng » 04 окт 2007, 02:26

Аш-какАй писал(а):Что сделал этот запрос и как его откатить?

Первый запрос добавляет к таблице phpbb_topics индекс по полю topic_last_post_id. Индекс позволяет работать базе существенно быстрее при поиске/выборке по данному полю, однако он занимает место на диске и иногда весьма много. Если есть частые запросы к базе с выборкой из указанной таблицы по данному полю, то индекс лучше оставить. Если занимаемое на диске место некритично, то тоже можно оставить. В противном случае удалить командой:

Код: Выделить всё

DROP INDEX index_name ON `phpbb_topics`;
Однако для этого необходимо знать имя индекса index_name. Чтобы его узнать надо предварительно выполнить команду:

Код: Выделить всё

SHOW INDEX FROM `phpbb_topics`;
В ответ на эту команду должен вывестись список всех индексов для указанной таблицы. Нужный нам индекс должен в колонке Column_name содержать строку topic_last_post_id - имя этого индекса будет при этом в колонке Key_name.

Второй запрос добавляет в таблицу phpbb_forums новую колонку attached_forum_id. По идее её можно и не удалять так как по смыслу сама таблица phpbb_forums - небольшая и поэтому дополнительное поле в этой таблице не мешает и много места не занимает. Однако если очень хочется, то удалить эту колонку можно командой:

Код: Выделить всё

ALTER TABLE `phpbb_forums` DROP COLUMN attached_forum_id;
2,0 2WD CVT LE BW9 (FDKEE) - уже вовсю езжу

Аватара пользователя
Аш-какАй
Администратор
Администратор
Сообщения: 6271
Зарегистрирован: 25 фев 2007, 21:12
Откуда: Москва, Рязанка
Контактная информация:

#4

Сообщение Аш-какАй » 04 окт 2007, 10:38

Leng
Спасибо большое! Все сделаю через phpMyAdmin.
Дело в том что я никогда не пользовался командами в SQL на изменения в структуре таблиц - как-то всегда работал в интерфейсе где можно все поменять вручную. А тут прям меня в ступор ввели - особенно с первой командой!
Спасибо.



Вернуться в «Куплю, сниму, приму в дар, нужна консультация»



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 29 гостей