Devi scambiare l'ordine dei tuoi indici:
CREATE TABLE IF NOT EXISTS `test` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`abc` varchar(50) NOT NULL,
`data` varchar(100) NOT NULL,
PRIMARY KEY (`abc`, `id`) -- id got to be second
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Cito dal manuale :
Per le tabelle MyISAM, puoi specificare AUTO_INCREMENT su un secondario colonna in un indice a più colonne.
Esempio funzionante in questo violino