> > I have a table with a PRIMARY KEY on id field, whos
> > evalue is populated usin auto_increment.
> >
> >
> > CREATE TABLE `key` (
> >   `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
> > `sid` smallint(4) unsigned NOT NULL DEFAULT '0',
> >   `email` varchar(128) NOT NULL DEFAULT '',
> >   PRIMARY KEY (`id`),
> >   UNIQUE KEY `email` (`email`)
> > ) ENGINE=InnoDB;
> >
> > Question:
> >
> > 1)
> > When I INSERT a row is there any way to be able in the
> > same INSERT statement (without doing an UPDATE after
> > the insert) to populate the field `sid`, which is base
> > on the value that the field `id` gets (e.g. sid= MOD
> > (id, 20))
> 
> Sounds like an excellent case for a TRIGGER.

Sorry, I think I'm wrong here --

This would only work if NEW.ID already has a value when
the BEFORE INSERT trigger get's called, but I think it has
not, as the "id" column would only be filled when doing the
actual insert, and not before.

You might wanna try that out.

AutoInc stinks. Always does :-)



Martijn Tonies
Database Workbench - development tool for MySQL, and more!
Upscene Productions
http://www.upscene.com
My thoughts:
http://blog.upscene.com/martijn/
Database development questions? Check the forum!
http://www.databasedevelopmentforum.com

-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to