Qual è il problema si verificherà se creo l'ID di generazione automatica senza utilizzare l'aumento automatico mysql della tabella mysql da solo?

0

Vorrei farti una domanda su MySQL AUTO_INCREMENT .

Ho già creato la mia funzione per generare AUTO_INCREMENT quando l'utente inserisce dati in una tabella in MySQL. Questa funzione funziona molto bene, ma sono preoccupato per il problema che posso affrontare in futuro perché è davvero nuovo per me.

Questa tabella è utilizzata per memorizzare i menu di navigazione e memorizzerà solo 400 righe. È possibile o no?

    
posta Heng Sopheak 30.08.2015 - 19:12
fonte

1 risposta

4

Ogni volta che un database ha più scrittori concorrenti, ci sono potenziali condizioni di gara. In particolare, se ogni writer tenta di aggiungere una nuova riga, tutti possono scegliere la stessa chiave primaria se stanno solo facendo max(...)+1 , e quindi tutti gli inserimenti tranne uno avranno esito negativo.

Quando un database ha una funzione di "incremento automatico", non ti risparmiano il problema di scrivere max(...)+1 , ti stanno risparmiando la fatica di farlo in un modo perfettamente sicuro, che potrebbe essere impossibile per te da fare se alcuni degli scrittori del database sono scritti in altre lingue e di proprietà di diversi sviluppatori.

Se hai sempre un solo scrittore alla volta, questo non può causare problemi. Ma non dovresti impegnarti a pensare che non vorrai mai più scrittori, quindi lascia che sia il database a fare questo per te.

    
risposta data 30.08.2015 - 19:25
fonte

Leggi altre domande sui tag