Não faz...
Você só pode ter uma coluna de auto_incremento e ela precisa ser a chave
primária.
porém você pode utilizar um trigger para mudar o valor da sua coluna
antes de inseri-la no banco:
Sua tabela ficaria assim:
CREATE TABLE `autoincremento` (
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
`id2` mediumint(8) unsigned DEFAULT NULL,
`teste` varchar(20) NOT NULL,
PRIMARY KEY (`id`),
KEY `id2` (`id2`)
) ENGINE=MyISAM;
Onde o id2 será nosso fake_autoincrement, ai criamos o trigger:
create trigger
fake_autoincremento
before insert on
autoincremento
for each row
set NEW.id2=(select ifnull( max(id2) , 0 ) + 1 "proximo" from
autoincremento)
Agora é só inserir os dados:
insert into
autoincremento
values
(NULL,NULL,"primeiro" ),(NULL,NULL,"segundo"),(NULL,NULL,"terceiro")
O resultado:
mysql> select * from autoincremento;
+----+------+----------+
| id | id2 | teste |
+----+------+----------+
| 1 | 1 | primeiro |
| 2 | 2 | segundo |
| 3 | 3 | terceiro |
+----+------+----------+
3 rows in set (0.00 sec)
--
[]'s
João Batista Neto
neto.joa...@gmail.com
joao...@visualcom.com.br