Создать таблицу и поле в ней если неизвестно их существование
Коллеги, представим себе, что мне надо создать таблицу table с полем field. Но в момент создания мы не знаем, существует ли такая таблица и, более того, если таблица и существует, то мы не знаем, существует ли в ней поле. То есть, возможны три варианта:
- Таблицы нет
- Таблица есть, но поля нет
- Есть и таблица и поле
Вариант, который я использую, в общем меня устраивает и состоит из двух запросов. Первым делом создаем таблицу, если ее нет:
CREATE TABLE IF NOT EXISTS table (field INTEGER);
Теперь у нас гарантировано существует таблица, но не факт, что с полем, поэтому создаем поле, если его нет:
ALTER TABLE table ADD COLUMN IF NOT EXISTS field INTEGER;
Повторю, вариант вполне устраивает, но хочется совершенства. Может быть есть варианты, чтобы в один запрос?