stavo rivedendo un modulo Drupal quando ho trovato questo modello per ottenere l'id della riga dell'ultimo inserita:È concettualmente giusto fare un SELECT MAX (id) ecc. Per trovare l'ultima riga inserita?
SELECT MAX(id) FROM ... WHERE ...
in cui l'ID è un campo di lavoro in un modo consueto autoincrement.
È concettualmente giusto fare questo? C'è qualche situazione in cui questo modello fallirà in un ambiente MySQL/PostgreSQL?
Edit:
Grazie per gli ottimi commenti e le risposte!
vorrei chiarire la mia domanda: volevo dire una situazione in cui qualcuno vorrebbe scoprire l'id dell'ultima riga inserita indipendentemente dalla sessione di.
Non sono sicuro sul concettualmente giusto, ma penserei che se il seme per quella colonna fosse mai cambiato potrebbe non essere il valore corretto. – user1231231412
Vedere [Qual è il modo stardard di ottenere l'ultimo ID di inserimento?] (Http://stackoverflow.com/questions/5048602/whats-the-stardard-way-of-getting-the-last-insert-id) –
Do intendi l'ultimo record inserito dalla sessione corrente? O solo un generico "qual è il record più recente in questa tabella"? Molte risposte qui sembrano assumere il primo, e se questo è il caso, hanno ragione. Se il processo alla ricerca di un massimo (id) non sta cercando un record inserito da quel processo, non posso pensare a uno scenario in cui max (id) non darà "il record più recente nella tabella". – MatBailie