Se utilizzi due chiavi una sara' messa da te, l'altra da autoincrement in modo automatico e progressivo
codice:
id   | key1 |
1    | 1    |
1    | 2    |
2    | 1    |
2    | 2    |
3    | 1    |
1    | 3    |
4    | 1    |
3    | 2    |
otterrai qualcosa del genere.

Non dovrebbe servire usare MAX() se si autoincrementa singolarmente.

Per l'ordinamento tramite data, ricorda che la data immessa con una query per generare/modificare record multipli sara' sempre la stessa cioe' identica, poiche' l'ora di sistema viene letta una volta sola per tutti.