Repository 32bit  Forum
Repository 64bit  Wiki

MySQL e il mistero del record che scompare [risolto]

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata e la versione del Kernel. Questi dati aiutano le persone che possono rispondere.
2) Specificare sempre il tipo di shell (bash, sh, csh, etc...)
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 dell'ultima regola porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

MySQL e il mistero del record che scompare [risolto]

Messaggioda aschenaz » mar giu 05, 2012 8:10

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?
pensieriemotivi.aschenaz.eu - music-blog
Avatar utente
aschenaz
Staff
Staff
 
Messaggi: 4279
Iscritto il: mer lug 28, 2004 0:00
Località: Reggio Calabria
Nome Cognome: Antonino Branca
Slackware: current 64bit
Kernel: 3.9.5
Desktop: KDE 4.10.4

Re: MySQL e il mistero del record che scompare

Messaggioda masalapianta » mar giu 05, 2012 8:45

delete on cascade?
Avatar utente
masalapianta
Iper Master
Iper Master
 
Messaggi: 2422
Iscritto il: lun lug 25, 2005 0:00
Località: Roma
Nome Cognome: famoso porco
Kernel: uname -r
Desktop: awesome
Distribuzione: Debian

Re: MySQL e il mistero del record che scompare

Messaggioda aschenaz » mar giu 05, 2012 9:47

masalapianta ha scritto:delete on cascade?

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... :-k
pensieriemotivi.aschenaz.eu - music-blog
Avatar utente
aschenaz
Staff
Staff
 
Messaggi: 4279
Iscritto il: mer lug 28, 2004 0:00
Località: Reggio Calabria
Nome Cognome: Antonino Branca
Slackware: current 64bit
Kernel: 3.9.5
Desktop: KDE 4.10.4

Re: MySQL e il mistero del record che scompare

Messaggioda lablinux » mar giu 05, 2012 10:19

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).
Avatar utente
lablinux
Packager
Packager
 
Messaggi: 642
Iscritto il: gio nov 27, 2008 13:23
Località: Rho
Slackware: 14 64bit
Desktop: kde4

Re: MySQL e il mistero del record che scompare

Messaggioda aschenaz » mar giu 05, 2012 10:35

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?
pensieriemotivi.aschenaz.eu - music-blog
Avatar utente
aschenaz
Staff
Staff
 
Messaggi: 4279
Iscritto il: mer lug 28, 2004 0:00
Località: Reggio Calabria
Nome Cognome: Antonino Branca
Slackware: current 64bit
Kernel: 3.9.5
Desktop: KDE 4.10.4

Re: MySQL e il mistero del record che scompare

Messaggioda lablinux » mar giu 05, 2012 10:58

prima di fasciarti la testa, prova su un db di test.
Avatar utente
lablinux
Packager
Packager
 
Messaggi: 642
Iscritto il: gio nov 27, 2008 13:23
Località: Rho
Slackware: 14 64bit
Desktop: kde4

Re: MySQL e il mistero del record che scompare

Messaggioda aschenaz » mar giu 05, 2012 12:01

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. :thumbright:
pensieriemotivi.aschenaz.eu - music-blog
Avatar utente
aschenaz
Staff
Staff
 
Messaggi: 4279
Iscritto il: mer lug 28, 2004 0:00
Località: Reggio Calabria
Nome Cognome: Antonino Branca
Slackware: current 64bit
Kernel: 3.9.5
Desktop: KDE 4.10.4

Re: MySQL e il mistero del record che scompare [risolto]

Messaggioda lablinux » mar giu 05, 2012 12:19

quindi dovrai colpire con corpo contundente qualche programmatore?
Avatar utente
lablinux
Packager
Packager
 
Messaggi: 642
Iscritto il: gio nov 27, 2008 13:23
Località: Rho
Slackware: 14 64bit
Desktop: kde4

Re: MySQL e il mistero del record che scompare [risolto]

Messaggioda aschenaz » mar giu 05, 2012 12:41

Già fatto! ;)
pensieriemotivi.aschenaz.eu - music-blog
Avatar utente
aschenaz
Staff
Staff
 
Messaggi: 4279
Iscritto il: mer lug 28, 2004 0:00
Località: Reggio Calabria
Nome Cognome: Antonino Branca
Slackware: current 64bit
Kernel: 3.9.5
Desktop: KDE 4.10.4


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Exabot [Bot] e 1 ospite