Форум: "Базы";
Текущий архив: 2004.11.28;
Скачать: [xml.tar.bz2];
Внизсоздание автосчетчика в базе посредство SQL Найти похожие ветки
← →
malamba (2004-11-02 12:29) [0]Подскажите, как в создаваемой таблице Access
( при помощи SQL :
CREATE TABLE tempTable
( Int INTEGER NOT NULL ,
...,
PRIMARY KEY (IntK)
)
задать , что ключевое поле – автоинкрементное (счетчик) ?
← →
sniknik © (2004-11-02 12:40) [1]D Autoincrement
← →
malamba (2004-11-02 18:15) [2]А поговорить?
В смысле, куда его пихнуть: PRIMARY KEY Autoincrement(IntK)- так ?
← →
msguns © (2004-11-02 18:39) [3]А почитать ?
В смысле хэлпы, книжки, статьи ?
← →
sniknik © (2004-11-02 20:38) [4]> А поговорить?
о чем? ответ четко соответствует вопросу - "догадайтесь что надо сдесь дописать" а вот это и надо.
← →
Hmm © (2004-11-02 23:27) [5]CREATE TABLE tempTable
( Int INTEGER NOT NULL Autoincrement,
...,
PRIMARY KEY (Int)
)
← →
sniknik © (2004-11-02 23:44) [6]Hmm © (02.11.04 23:27) [5]
;о)) исправь пока не поздно.
к ошибке автора еше и свою добавил.
← →
Hmm © (2004-11-03 07:53) [7]хм... единственная ошибка, которую вижу я - это необходимость заменить название поля int.
проверить запрос неначем, посему вот статья в доказательство слов:
http://www.akzhan.midi.ru/devcorner/articles/NaturalKeysVersusAtrificialKeysByTentser.html
← →
sniknik © (2004-11-03 08:10) [8]да int это тип, integer тип и Autoincrement тоже тип поля.
не находиш, 3 типа в описании одного поля это многовато?
> вот статья в доказательство слов:
не сравнивай, там же IB и подобные базы и их синтаксис используются, а тут Access.
← →
sniknik © (2004-11-03 08:14) [9]хотя наверно даже не синтаксис IB (там же генераторы для инкрементов используют), скорее там нечто "синтетическое" для описания смысла поля а не точное лексически описание.
/*
В разных диалектах языка SQL автоинкрементное поле будет выражено по-разному -
например, через IDENTITY, SEQUENCE или GENERATOR.
Здесь мы используем условное обозначение AUTOINCREMENT.
*/
← →
malamba (2004-11-03 10:12) [10]Не ломайте копья, у меня не Int, а IntK.
Int сократил для наглядности ( но ее не получилось)
Согласен, что Int, Year и прочие подозрительные вещи в названиях полей использовать не стоит.
//А почитать ?
//В смысле хэлпы, книжки, статьи ?
Вот уж не надо.
Сюда я написал, после того, как нашел, что в Access и близко подобного описания нет,
SQL 92 как буд-то не имеет средства задания автоинкрементного поля
Есть в Transact SQL и прочих диалектах, но тут нужен именно чистый SQL, который бы понял Access
А то, что нужен именно IDENTITY, извините, мало ли как он назвается ( сегодня Знайка, завтра - Незнайка, а послезавтра еще какая-нибудь Чертяйка...)
← →
malamba (2004-11-03 10:35) [11]Ну буквально все нужно делать самому :-))))
CREATE TABLE tempTable
( IntKey Autoincrement,
...,
PRIMARY KEY (Int)
)
INTEGER NOT NULL - выбрасывается
Создается новая таблица Access в которой IntKey описан ( ну наконец-то!) как Счетчик.
Снято.
Всем спасибо.
← →
sniknik © (2004-11-03 10:43) [12]> Сюда я написал, после того, как нашел, что в Access и близко подобного описания нет,
Эквивалентные типы данных ANSI SQL смотрел в справке по jet?
> А то, что нужен именно IDENTITY
IDENTITY аксес также понимает, также как и COUNTER
← →
malamba (2004-11-03 11:03) [13]Я в принципе, остановился на Autoincrement. Но остальные тоже нужно попробовать для разнообразия...
А вот в справку по Jet залезть не догадался, тем более, что на моей машине ее нет. Будем искать...
← →
sniknik © (2004-11-03 11:40) [14]> Будем искать...
чего ее искать, она с мсофисом идет, если он у тебя стоит и непорезанный то она у тебя есть.
← →
malamba (2004-11-03 12:12) [15]Стоит, нашел по поиску jet
нет фразы "Эквивалентные типы данных ANSI SQL" или подобной на английском языке...
Но за участие спасибо.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.11.28;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.046 c