"SELECT Prezzo FROM macchine ORDER BY ID_car DESC LIMIT 1" e' come, volendo cercare l'ultima parola del dizionario, leggere tutto il dizionario, ordinarlo e poi prendere l'ultima parola anziche' andare all'ultima pagina e leggere l'ultimo valore.
Per carita', funziona anche, ma e' un zinzino non ottimizzato. Al massimo potrei capire select MAX(ID_CAR), ma cosi' non e' il top.
Se anche MAX(ID_CAR) fosse utilizzato, e' comunque concettualmente sbagliato perche' non tiene conto della concorrenza. Se qualcuno dopo la tua insert e prima della tua select ha effettuato un'altra insert, ottieni un'id che non e' quello che vuoi.
Non e' per caso che nelle api di MySQL c'e' una funzione preposta fatta ad hoc che serve proprio allo scopo. Per inciso, questa funzione e in generale i campi auto-increment sono da evitare in caso di clustering per motivi analoghi.

Rispondi quotando