Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: [MySQL]auto_increment и триггер
Показать сообщение отдельно

Новый участник


Сообщения: 33
Благодарности: 1

Профиль | Отправить PM | Цитировать


На данный момент код триггера и определения таблиц такие:
PHP код: Выделить весь код

CRETAE table tbl1 (Id_ int(32not null auto_incrementstr varchar(32not nullprimary key(Id_));

   
CREATE table tbl2 (Id_ int(32not null auto_incrementId int(32not nullstr varchar(32not nullprimary key(Id_));

   
CREATE TRIGGER new_tbl1 BEFORE INSERT ON tbl1
   
FOR EACH ROW 
   BEGIN
      insert into tbl2 values
(null, New.Id_'abc');
   
END

При выполнении триггера New.Id_ равен 0. В этом состоит проблема.
Цитата:
делай предварительный запрос на max значение ключа и ++, это на поверхности...
Метод не прокатит, так как если мы добавляли записи в tbl2, а потом удалили несколько последних добавленных, то id будет вовсе не max++.
В будущем этот новый id должен внешним ключем стать для tbl2, может тогда можно как-то проще сделать?

Последний раз редактировалось Kerbit, 14-11-2006 в 08:25.


Отправлено: 07:36, 14-11-2006 | #4

Название темы: [MySQL]auto_increment и триггер