Domanda

Ho una tabella MySQL della forma

entryID (PK), UserID, entryName

Ogni utente (come definito dal suo UserID) può creare un numero qualsiasi di voci in questa tabella, ma per ogni utente, il nome di entrata deve essere unico. Vorrei consentire agli utenti di modificare tutti i loro ingressi contemporaneamente. Pertanto, presenterò all'utente un modulo con più campi di ingresso che possono modificare.

Il problema è quando si cerca di impegnarlo nel database. Non posso semplicemente aggiornare la riga per riga come caso:

1, 1, Entry1
2, 1, Entry2

diventare

1, 1, Entry2
2, 1, Entry3

causerebbe un errore quando si tenta di rinominare l'ingresso1 in entrata2. Attualmente, ho letto tutte le righe con l'utente indicato, quindi eliminali e ricreto ogni riga. Questo funziona. Il problema con quel metodo, tuttavia, è che se un utente riesce a causare un errore nel mio script, tutte le sue voci vengono eliminate ... e perse. E questa è una brutta cosa. Come si risolverebbe questo?

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top