scusate l'ignoranza ma in SQL non esiste mica la possibilità di spostare una colonna prima o dopo un'altra?

se la sposto dopo (after) funziona ...

mentre prima (first) no ... perchè?

es.
codice:
id(int) default null not null primary key auto_increment
cognome varchar(30);
nome varchar(30);

per scambiare di posto nome/cognome posso fare:

alter table utenti modify cognome varchar(30) after nome;

ma non:

alter table utenti modify nome varchar(30) first cognome;
why?