> > 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 :-)
Database Workbench - development tool for MySQL, and more!
Database development questions? Check the forum!