> > > > > Hello, > > > > One simple question... AFAIK I can specify value for an autoincrement > > primary key (int) when inserting a record like this: > > > > INSERT INTO `tablename` (`id`, `name`) VALUES (1, 'test') > > > > But it doesn't work for id = 0. Why? > > > > I would like to use some primary key values for special purpose, e.g. id > 0 > > means root/default record and so on. > > Is that recommended? Are there any alternative ways? > > Autoincrement starts from 1. That is the way it is, and cannot, I think, > be changed.
Yes, it starts from 1, but concrete value CAN be changed to 0 manually. Maybe it is better to ask: "Why can I set autoincrement primary key to 0 but cannot do this using INSERT statement?" > > I would advise against using autoincrement keys for "special" uses. This > is muddling two different functions into one. Remeber that primary keys > must be unique: if, at some time, you need to have more than one of a > "special" value, you will be in trouble. Sure, but the idea was to use 0 for root category or "root" access. It seems to be reasonable at least. > The function of autoincrement > keys is to assign unique record identifiers. Do not mix this with other > tasks. > > Alec -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]