![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Есть ли возможность??? [D6, MySQL]
MaveRick © (2002-03-21 04:20:00)Есть ли возможность проверить наличие определенной таблицы в базе???
то есть... если такая таблица есть то ее нужно обнулить (должна стать пустой) если нет то создать..
Заранее благодарен
mailto:max@uuaz.ru
MaveRick (2002-03-22 05:48:00) [1]Всем спасибо!!!
Подошел первый вариант...
Donal_Graeme (2002-03-21 11:28:00) [2]в MySQL есть такая команда - SHOW TABLES - выдаёт список всех таблиц в выбранной базе
Фэ (2002-03-21 10:02:00) [3]Некорректно смешивать два разных подхода: файловый и серверный.
Теряется переносимость, универсальность. Да и файлы могут быть доступны только серверу СУБД, что есть правильно.
Андрей Брусов (2002-03-21 09:31:00) [4]Проще всего, если знаешь название таблицы и место расположение использовать FileExists("Name_Table"), примерно так
If FileExists("Name_Table") Then
begin
end;
sniknik (2002-03-21 08:20:00) [5]А в MySQL есть системные таблици? Насколько я знаю многие базы их создают, да что там ВСЕ базы что я знаю создают тавлицы с описанием структуры. Тут тоже должно быть чтото подобное. И тогда можно ограничится одним запросом.
Пример (Для MSSQL для MySQL работать не будет скорей всего)
IF NOT EXISTS (SELECT * FROM sysobjects WHERE (name = N"CASHAUTH"))
CREATE TABLE CASHAUTH (.....)
ELSE
DELETE FROM TABLE CASHAUTH
panov (2002-03-21 06:44:00) [6]Можно примерно так:
Query1.SQL.Text := "SELECT * FROM mytable";
try
Query1.Open;
Query1.Close;
Query1.SQL.Text := "DELETE FROM mytable";
Query1.ExecSql;
except
Query1.SQL.Text := "CREATE TABLE mytable ...";
Query1.ExecSql;
end;