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 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.

MySQL e il mistero del record che scompare [risolto]

Messaggioda aschenaz » mar giu 05, 2012 7: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: 4409
Iscritto il: mar lug 27, 2004 23:00
Località: Reggio Calabria
Nome Cognome: Nino
Slackware: current 64bit
Kernel: 3.10.30
Desktop: KDE 4.10.5

Re: MySQL e il mistero del record che scompare

Messaggioda masalapianta » mar giu 05, 2012 7:45

delete on cascade?
Avatar utente
masalapianta
Iper Master
Iper Master
 
Messaggi: 2775
Iscritto il: dom lug 24, 2005 23: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 8: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: 4409
Iscritto il: mar lug 27, 2004 23:00
Località: Reggio Calabria
Nome Cognome: Nino
Slackware: current 64bit
Kernel: 3.10.30
Desktop: KDE 4.10.5

Re: MySQL e il mistero del record che scompare

Messaggioda lablinux » mar giu 05, 2012 9: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
Linux 2.6
Linux 2.6
 
Messaggi: 710
Iscritto il: gio nov 27, 2008 12:23
Località: Rho
Slackware: 14 64bit
Desktop: kde4

Re: MySQL e il mistero del record che scompare

Messaggioda aschenaz » mar giu 05, 2012 9: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: 4409
Iscritto il: mar lug 27, 2004 23:00
Località: Reggio Calabria
Nome Cognome: Nino
Slackware: current 64bit
Kernel: 3.10.30
Desktop: KDE 4.10.5

Re: MySQL e il mistero del record che scompare

Messaggioda lablinux » mar giu 05, 2012 9:58

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

Re: MySQL e il mistero del record che scompare

Messaggioda aschenaz » mar giu 05, 2012 11: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: 4409
Iscritto il: mar lug 27, 2004 23:00
Località: Reggio Calabria
Nome Cognome: Nino
Slackware: current 64bit
Kernel: 3.10.30
Desktop: KDE 4.10.5

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

Messaggioda lablinux » mar giu 05, 2012 11:19

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

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

Messaggioda aschenaz » mar giu 05, 2012 11:41

Già fatto! ;)
pensieriemotivi.aschenaz.eu - music-blog
Avatar utente
aschenaz
Staff
Staff
 
Messaggi: 4409
Iscritto il: mar lug 27, 2004 23:00
Località: Reggio Calabria
Nome Cognome: Nino
Slackware: current 64bit
Kernel: 3.10.30
Desktop: KDE 4.10.5


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

cron