MySQL e il mistero del record che scompare [risolto]
Moderatore: Staff
Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
- aschenaz
- Staff
- Messaggi: 4623
- Iscritto il: mer 28 lug 2004, 0:00
- Nome Cognome: Nino
- Slackware: current
- Kernel: 5.4.x
- Desktop: KDE
- Località: Reggio Calabria
- Contatta:
MySQL e il mistero del record che scompare [risolto]
Mi riferiscono una cosa stranissima che accadrebbe su di una tabella mysql: è una tabella abbastanza convenzionale, con un index numerico in auto_increment, in cui l'unica particolarità è che il record con index 1 fornisce una specie di valore di riferimento e, pertanto, non va cancellato né modificato. Il fatto strano è che, saltuariamente (anche dopo molti mesi), questo record sparisce dalla tabella, senza che nessuno lo elimini materialmente (tra l'altro è una riga nascosta al fruitore). La mia ipotesi è che venga escluso automaticamente in sede di eventuali backup/ripristino, ma mi sembra lo stesso una cosa implausibile...
Che ne pensate?
Che ne pensate?
- masalapianta
- Iper Master
- Messaggi: 2775
- Iscritto il: lun 25 lug 2005, 0:00
- Nome Cognome: famoso porco
- Kernel: uname -r
- Desktop: awesome
- Distribuzione: Debian
- Località: Roma
- Contatta:
Re: MySQL e il mistero del record che scompare
delete on cascade?
- aschenaz
- Staff
- Messaggi: 4623
- Iscritto il: mer 28 lug 2004, 0:00
- Nome Cognome: Nino
- Slackware: current
- Kernel: 5.4.x
- Desktop: KDE
- Località: Reggio Calabria
- Contatta:
Re: MySQL e il mistero del record che scompare
Ma, per il poco che ne sappia io, quell'opzione servirebbe a cancellare le righe in tabelle figlie, quando viene a mancare il riferimento nella tabella genitrice. In questo caso, è quella la tabella genitrice e la riga n. 1 contiene un valore di riferimento per una specie di default, che viene richiamato in una tabella figlia...masalapianta ha scritto:delete on cascade?
- lablinux
- Linux 4.x
- Messaggi: 1212
- Iscritto il: gio 27 nov 2008, 12:23
- Desktop: Gnome
- Distribuzione: Debian testing
- Località: Rho
Re: MySQL e il mistero del record che scompare
Prova a cancellare la riga della tabella figlia che si riferisce alla riga genitrice con index 1 (chiamarla riga 1 non mi piace anche perché la potresti avere generata dopo la prima).
- aschenaz
- Staff
- Messaggi: 4623
- Iscritto il: mer 28 lug 2004, 0:00
- Nome Cognome: Nino
- Slackware: current
- Kernel: 5.4.x
- Desktop: KDE
- Località: Reggio Calabria
- Contatta:
Re: MySQL e il mistero del record che scompare
Nella tabella figlia, ci sono numerosi record che fanno riferimento a quella riga e vengono inseriti/cancellati con una certa frequenza. In teoria, sarebbe forse probabile che, se nella tabella figlia vengono cancellati occasionalmente tutti i record che puntano a quella riga, la riga stessa verrebbe eliminata?
Nel caso, come si potrebbe fare per evitarlo?
Nel caso, come si potrebbe fare per evitarlo?
- lablinux
- Linux 4.x
- Messaggi: 1212
- Iscritto il: gio 27 nov 2008, 12:23
- Desktop: Gnome
- Distribuzione: Debian testing
- Località: Rho
Re: MySQL e il mistero del record che scompare
prima di fasciarti la testa, prova su un db di test.
- aschenaz
- Staff
- Messaggi: 4623
- Iscritto il: mer 28 lug 2004, 0:00
- Nome Cognome: Nino
- Slackware: current
- Kernel: 5.4.x
- Desktop: KDE
- Località: Reggio Calabria
- Contatta:
Re: MySQL e il mistero del record che scompare
Ho trovato l'inghippo: non era un problema di mysql. Come mi hanno confermato, questa cosa del record con index 1 ( ) è stata aggiunta successivamente. Sono andato a spulciare la pagina di raccolta dati ed ho trovato una funzione che andava a cancellare i record della tabella incriminata quando venivano cancellati quelli della tabella figlia. Ho aggiunto una condizione if ( $indice!==1 ) ed ho risolto. Lo dicevo io che era strano...!
Grazie a tutti.
Grazie a tutti.
- lablinux
- Linux 4.x
- Messaggi: 1212
- Iscritto il: gio 27 nov 2008, 12:23
- Desktop: Gnome
- Distribuzione: Debian testing
- Località: Rho
Re: MySQL e il mistero del record che scompare [risolto]
quindi dovrai colpire con corpo contundente qualche programmatore?