SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 21.08.2008 10:25:12

MDmitriS
Участник
Зарегистрирован: 21.08.2008
Сообщений: 1

Возможен ли CREATE SEQUENCE

Есть 2 таблицы с различной структурой.
Хочу делать в них INSERT данных, так чтобы идентификаторы записей одной таблицы не встречались в другой таблице.

В Oracle для этого используется последовательность (SEQUENCE).
Создается так:
CREATE SEQUENCE SEQ; (где SEQ - произвольное имя последовательности)
Потом при вставке записи следующее значение берется так:
SEQ.NEXTVAL
Одну последовательность можно использовать при вставке в любое число таблиц.

Затем для удобства (а если можно, то почему бы и не воспользоваться) создется триггер на BEFORE INSERT ROW и дело в шляпе.

В MySQL можно ли создать что-то на подобие CREATE SEQUENCE, в документации не нашел sad
Или как такие проблемы можно решить в MySQL еще каким-нибудь приемом?

Неактивен

 

#2 21.08.2008 11:43:42

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Возможен ли CREATE SEQUENCE

Можно решить обходным путем. Создать таблицу CREATE TABLE my_seq (id INT NOT NULL auto_increment, PRIMARY KEY(id));

При необходимости идентификатора, выполнять INSERT INTO my_seq VALUES (NULL) и затем использовать LAST_INSERT_ID(), это можно делать в триггере

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson