Как очистить базу (прибить все таблицы)?

  • Автор темы Автор темы sTar
  • Дата начала Дата начала

sTar

Guest
Как очистить базу (прибить все таблицы)?

Станно но в поиске не нашел, находил только очистку таблицы
 
а нету аналога
TRUNCATE для таблиц?

Получается надо делать
drop a потом create
?
 
нет.
если у тебя возникла необходимость на лету дропать все таблицы - делаешь что-то не то.
 
А к какому уровню привилегий относится TRUNCATE?
 
Добавить перед каждым CREATE
DROP TABLE IF EXISTS tbl;
CREATE TABLE tbl (...

Или включить соотв опцию в phpMyAdmin при экспорте.
----------- или -----------
1. выбрать с помощью SHOW TABLES таблицы
2. получить значения в PHP
3. сформировать запросы на DROP
----------- или -----------
...
 
DROP TABLE IF EXISTS tbl;
Это что значит как только я создам таблицу она дропнется, или как?
 
he-he =)

Это значит, что если таблица существует, то она удалится. Если не делать IF EXISTS, то запрос вернется с ошибкой TABLE NOT EXISTS

А если это какая-то последовательность запросов (например дамп базы), то эта последовательность запросов до конца не отработает. Для этого и ставят IF EXISTS
 
sTar
это значит, что ты не сказал, что ты хочешь сделать, а считаешь, что тебе нужно удалять таблицы. И я считаю, что тебе это не нужно.
 
Я зделал скрипт инсталяции скрипта :) (смешно звучит)

В файлик install.sql есть записи (в каждой строке - 1 запрос на создание таблицы)

Я хочу предусмотреть возможность ПЕРЕинсталяции, если происходит ошибка в строке n - таблица не создается и скрипт остонавливается (происходит ошибка инсталяции).

Если ошибка происходит мне надо чтобы все таблицы созданые до этого удалились (но не сама база). После очистки базы, пользователь должен будет только исправить ошибку в строке n (ему не прийдется лезть в базу очисшать ее ручками, а потом создавать наново)

Идея скрипта - install.php в phpbb-форуме
 
sTar
поэтому-то ты и должен использовать решение, которое я тебе и предложил. Ибо оно будет в итоге делать именно то, что тебе нужно, а имеено удалять таблицы, если они существуют непостредственно перед моментом их создания.
 
Сверху