Devo scrivere una query in cui ho bisogno di allocare un ID
(chiave univoca) per un particolare record che non viene utilizzato/non viene generato/non esiste nel database.Come si ottiene il primo ID non utilizzato nella tabella?
In breve, ho bisogno di generare un id
per un particolare record e mostrarlo sullo schermo di stampa.
E. g .:
ID Name 1 abc 2 def 5 ghi
Quindi, la cosa è che deve restituire ID=3
come il prossimo immediato che non viene ancora generato, e dopo questa generazione del id
, io memorizzare questi dati torna alla tabella del database.
Non è un HW: sto facendo un progetto, e ho un requisito in cui ho bisogno di scrivere questa query, quindi ho bisogno di aiuto per raggiungere questo obiettivo.
Quindi indicatemi come effettuare questa query o come ottenere ciò.
Grazie.
io non sono in grado di aggiungere commenti ,, quindi questo è il motivo per cui scrivo i miei commenti qui .. Sto usando MySQL come database ..
miei passi sarebbe come questo: -
1) Recupera l'id dalla tabella del database che non viene utilizzata ..
2) Come loro sono no. degli utenti (progetto basato sul sito web), quindi non voglio che si verifichi concorrenza, quindi se un ID viene generato a un utente, allora dovrebbe bloccare il database, finché lo stesso utente riceve l'id e memorizza il record per quell'id .. Dopo di che, l'altro utente può recuperare l'ID che non esiste. (Requisito importante) ..
Come posso ottenere tutte queste cose in MySQL, Suppongo anche che la risposta di Quassnoi varrà, ma non è lavorando in MySQL .. quindi plz spiega il bit sulla query poiché è nuovo per me .. e questa query funzionerà in MySQL ..
Che tipo di RDBMS stai utilizzando per il tuo progetto? – Quassnoi
Fai attenzione alla concorrenza, qui. Se si dispone di più utenti, il divario di tempo tra l'esecuzione della query di Quassnoi e la memorizzazione dei risultati nel DB può comportare la duplicazione degli ID. Perché non lasciare che RDBMS gestisca le colonne ID? –
Come scrive DDaviesBrackett, se non si tratta di compiti a casa, soffre di un serio problema del mondo reale: due processi possono eseguire la query e ottenere la loro risposta, quindi ognuno tenta di inserire un record duplicato. Se questo è solo per rispondere alla domanda: ci sono delle lacune? è diverso È quindi divertente che a qualcuno importi. – Yishai