From domenico.lorusso a pleiade.it Tue Apr 3 15:55:35 2007 From: domenico.lorusso a pleiade.it (Domenico L.) Date: Tue Apr 3 16:23:51 2007 Subject: [Db] Mysql transazioni, myisam e versioni Message-ID: <46125CD7.3050506@pleiade.it> Ciao ragazzi, se in una transazione faccio: insert into tabella innodb insert into tabella innodb insert into tabella innodb insert into tabella MyIsam insert into tabella innodb insert into tabella innodb insert into tabella innodb rollback; cosa succede nelle diverse versioni di mysql? bella 3, 4 e 5 ciao -- Domenico L. icq: 645 44 861 - msn: strahd@jumpy.it per stupire mezz'ora basta un libro di storia, io cercai di imparare la Treccani a memoria... [F.d.A.] From marcello a vezz.it Tue Apr 3 15:59:46 2007 From: marcello a vezz.it (Marcello Vezzelli) Date: Tue Apr 3 16:31:44 2007 Subject: [Db] Mysql transazioni, myisam e versioni In-Reply-To: <46125CD7.3050506@pleiade.it> References: <46125CD7.3050506@pleiade.it> Message-ID: <46125DD2.3050206@vezz.it> Domenico L. ha scritto: > Ciao ragazzi, > se in una transazione faccio: > > insert into tabella innodb > insert into tabella innodb > insert into tabella innodb > insert into tabella MyIsam > insert into tabella innodb > insert into tabella innodb > insert into tabella innodb > > rollback; > > cosa succede nelle diverse versioni di mysql? bella 3, 4 e 5 Non ti so rispondere dettagliatamente in merito alle versioni: quel che ti posso dire è che myisam non supporta il rollback, come da tabella http://dev.mysql.com/tech-resources/articles/storage-engine/part_3.html Leggiucchiando in giro, sembra che il rollback sia pienamente supportato dalla versione 5, solo per le tabelle innodb. Ciao Marcello From domenico.lorusso a pleiade.it Tue Apr 3 16:08:32 2007 From: domenico.lorusso a pleiade.it (Domenico L.) Date: Tue Apr 3 16:36:47 2007 Subject: [Db] Mysql transazioni, myisam e versioni In-Reply-To: <46125DD2.3050206@vezz.it> References: <46125CD7.3050506@pleiade.it> <46125DD2.3050206@vezz.it> Message-ID: <46125FE0.7000909@pleiade.it> Marcello Vezzelli ha scritto: > > Non ti so rispondere dettagliatamente in merito alle versioni: quel > che ti posso dire è che myisam non supporta il rollback, come da tabella Yes questo lo so, la mia paura è che una insert in una myisam mi mandi a farsi benedire la transazionalità delle innodb Cioè: se una tabella di log non va in rollback mi va anche bene (vabbeh) ma se effettuare una insert significa che mi schianta tutta una transazione facendo un commit.. beh questo mi crea problemi... -- Domenico L. icq: 645 44 861 - msn: strahd@jumpy.it per stupire mezz'ora basta un libro di storia, io cercai di imparare la Treccani a memoria... [F.d.A.] From marcello a vezz.it Wed Apr 4 16:42:32 2007 From: marcello a vezz.it (Marcello Vezzelli) Date: Wed Apr 4 17:14:42 2007 Subject: [Db] differenze tra due db Message-ID: <4613B958.90402@vezz.it> Ciao a tutti, qualcuno è a conoscenza di un tool in grado di analizzare le strutture di due db mysql e produrre uno script sql con le differenze? Il tutto senza toccare i dati. Io ho trovato dbdiff (http://rubyforge.org/projects/dbdiff/) ma non avrei in programma di installarmi ruby con annessi e connessi. DbDiff performs a diff between two databases (currently MySQL), generates the necessary SQL to alter the target database and apply the changes in the proper order to satisfy any constraints that exist - while preserving the data in the target database. L'obiettivo è esattamente questo. Saluti Marcello From daniele-ml a libertyline.it Wed Apr 4 17:27:06 2007 From: daniele-ml a libertyline.it (Daniele Paoni) Date: Wed Apr 4 17:59:22 2007 Subject: [Db] differenze tra due db In-Reply-To: <4613B958.90402@vezz.it> References: <4613B958.90402@vezz.it> Message-ID: <1175700426.20788.2.camel@madhome.libertyline.com> On Wed, 2007-04-04 at 16:42 +0200, Marcello Vezzelli wrote: > Ciao a tutti, > qualcuno è a conoscenza di un tool in grado di analizzare le > strutture > di due db mysql e produrre uno script sql con le differenze? > Il tutto senza toccare i dati. > > Io ho trovato dbdiff (http://rubyforge.org/projects/dbdiff/) ma non > avrei in programma di installarmi ruby con annessi e connessi. > > DbDiff performs a diff between two databases (currently MySQL), > generates the necessary SQL to alter the target database and apply > the > changes in the proper order to satisfy any constraints that exist - > while preserving the data in the target database. > > L'obiettivo è esattamente questo. http://www.adamspiers.org/computing/mysqldiff/ E' in perl, funziona abbastanza bene se non usi foreign keys. Ci vorrebbe qualcuno che mastica un po di perl per aggiornarlo alle nuove features di mysql. Ciao Daniele From marcello a vezz.it Thu Apr 5 09:10:55 2007 From: marcello a vezz.it (Marcello Vezzelli) Date: Thu Apr 5 09:41:31 2007 Subject: [Db] differenze tra due db In-Reply-To: <1175700426.20788.2.camel@madhome.libertyline.com> References: <4613B958.90402@vezz.it> <1175700426.20788.2.camel@madhome.libertyline.com> Message-ID: <4614A0FF.3080304@vezz.it> Daniele Paoni ha scritto: > > http://www.adamspiers.org/computing/mysqldiff/ > > E' in perl, funziona abbastanza bene se non usi foreign keys. > Ci vorrebbe qualcuno che mastica un po di perl per aggiornarlo alle > nuove features di mysql. > Speravo qualcosa in php.. Cmq grazie, ci dò un'occhiata. Saluti Marcello From gianiaz a gianiaz.net Thu Apr 5 09:20:51 2007 From: gianiaz a gianiaz.net (Giovanni Battista Lenoci) Date: Thu Apr 5 09:53:01 2007 Subject: [Db] differenze tra due db In-Reply-To: <4614A0FF.3080304@vezz.it> References: <4613B958.90402@vezz.it> <1175700426.20788.2.camel@madhome.libertyline.com> <4614A0FF.3080304@vezz.it> Message-ID: <4614A353.5080806@gianiaz.net> Marcello Vezzelli ha scritto: > > Speravo qualcosa in php.. > Cmq grazie, ci dò un'occhiata. > > Saluti > Marcello Se non devi rimuovere dati, ma solo aggiungerli puoi fare il dump dei due db e confrontare i 2 files per estrarre le query di inserimento.. Se invece l'allineamento dovesse comprendere anche query di delete allora questo metodo non funziona... ciao -- gianiaz.net di Giovanni Battista Lenoci P.le Bertacchi 66 23100 Sondrio cell. +39.392.7096936 cell. +39.347.7196482 From marcello a vezz.it Thu Apr 5 10:30:28 2007 From: marcello a vezz.it (Marcello Vezzelli) Date: Thu Apr 5 11:01:40 2007 Subject: [Db] differenze tra due db In-Reply-To: <1175700426.20788.2.camel@madhome.libertyline.com> References: <4613B958.90402@vezz.it> <1175700426.20788.2.camel@madhome.libertyline.com> Message-ID: <4614B3A4.1070303@vezz.it> Daniele Paoni ha scritto: > > http://www.adamspiers.org/computing/mysqldiff/ > > E' in perl, funziona abbastanza bene se non usi foreign keys. > Ho fatto qualche prova, si appoggia completamente al tool mysqlshow di mysql. Ottiene le strutture delle tabelle, fa il confronto, poi produce il codice sql per l'aggiornamento. Mi chiedo perché non abbiano usato select * from information_schema.columns t where t.table_schema = 'database' and t.table_name = 'tabella' anziché usare un tool esterno e parsare il suo output (cambia l'output, tutto da buttare) Saluti Marcello From domenico.lorusso a pleiade.it Thu Apr 5 12:34:32 2007 From: domenico.lorusso a pleiade.it (Domenico L.) Date: Thu Apr 5 13:03:09 2007 Subject: [Db] differenze tra due db In-Reply-To: <4614B3A4.1070303@vezz.it> References: <4613B958.90402@vezz.it> <1175700426.20788.2.camel@madhome.libertyline.com> <4614B3A4.1070303@vezz.it> Message-ID: <4614D0B8.3080105@pleiade.it> Marcello Vezzelli ha scritto: > > Mi chiedo perché non abbiano usato > select * from information_schema.columns t where t.table_schema = > 'database' and t.table_name = 'tabella' > uhm.. forse perché fino alla 4.0 non esiste.. -- Domenico L. icq: 645 44 861 - msn: strahd@jumpy.it per stupire mezz'ora basta un libro di storia, io cercai di imparare la Treccani a memoria... [F.d.A.] From marcello a vezz.it Thu Apr 5 13:09:23 2007 From: marcello a vezz.it (Marcello Vezzelli) Date: Thu Apr 5 13:40:35 2007 Subject: [Db] differenze tra due db In-Reply-To: <4614D0B8.3080105@pleiade.it> References: <4613B958.90402@vezz.it> <1175700426.20788.2.camel@madhome.libertyline.com> <4614B3A4.1070303@vezz.it> <4614D0B8.3080105@pleiade.it> Message-ID: <4614D8E3.70307@vezz.it> Domenico L. ha scritto: >> >> Mi chiedo perché non abbiano usato >> select * from information_schema.columns t where t.table_schema = >> 'database' and t.table_name = 'tabella' >> > uhm.. forse perché fino alla 4.0 non esiste.. Io credo che MySQL 4 dovrebbe essere cancellato dalla faccia della terra. Già il 5 non è sto gran spettacolo di features, rispetto alla concorrenza: il 4 è semplicemente cenozoico. Poi, ovviamente, come succede sempre, il cliente della puzzetteria emiliana srl ha il suo insostituibile 4.0 e ci si adatta. Sigh. Cmq, adesso mi faccio uno script che confronta i db in php e funzionerà solo sul 5. Per protesta. :) Ciao Marcello From domenico.lorusso a pleiade.it Thu Apr 5 13:53:42 2007 From: domenico.lorusso a pleiade.it (Domenico L.) Date: Thu Apr 5 14:22:16 2007 Subject: [Db] differenze tra due db In-Reply-To: <4614D8E3.70307@vezz.it> References: <4613B958.90402@vezz.it> <1175700426.20788.2.camel@madhome.libertyline.com> <4614B3A4.1070303@vezz.it> <4614D0B8.3080105@pleiade.it> <4614D8E3.70307@vezz.it> Message-ID: <4614E346.3070707@pleiade.it> Marcello Vezzelli ha scritto: > Io credo che MySQL 4 dovrebbe essere cancellato dalla faccia della terra. Fai conto che abbiamo un prodotto di punta che deve gira ancora anche sul 3.. sob cmq c'è retro-compatibilità tra 5 e 3 a patto che si sia sviluppato correttamente, es.: - formattare i dati estratti (soprattuto le date) - usare gli alias correttamente nelle select: select idcliente as "idCliente" from .... - ecc.... ciao -- Domenico L. icq: 645 44 861 - msn: strahd@jumpy.it per stupire mezz'ora basta un libro di storia, io cercai di imparare la Treccani a memoria... [F.d.A.] From marcello a vezz.it Fri Apr 6 11:56:25 2007 From: marcello a vezz.it (Marcello Vezzelli) Date: Fri Apr 6 12:30:28 2007 Subject: [Db] problema interessante sql Message-ID: <46161949.6010204@vezz.it> Ciao a tutti, ho una rubrica che contiene indirizzi email e un riferimento all'utente proprietario del contatto. La rubrica dell'utente 1 quindi è fatta così: (id,email,rif_utente,descrizione) 1,email@email.it,1,prova1 2,cucu@ciao.it,1,prova2 3,zio@budda.net,1,prova3 4,zio@budda.net,1,prova3bis ecc. Siccome devo mettere un indice univoco su rif_utente ed email (gli utenti d'ora in poi non possono inserire contatti email duplicati), dovrei trovare i contatti duplicati per tutti gli utenti: ci sono utenti che hanno inserito più volte la stessa email con descrizione diversa (era possibile e desiderato dall'architettura precedente per una serie di motivi che non ha senso riportare qui) Con questa query mi elenco i contatti doppi e i loro proprietari. SELECT count(id) as zk,rif_utente,email FROM `contatti` group by rif_utente,email having zk>1 Ora quello che vorrei fare è eliminare i contatti doppi, quindi se una mail è inserita 3 volte in uno stesso utente, cancellare le ultime 2 copie e tenere la prima. Con una query di questo tipo riesco ad ottenere i contatti dal secondo in poi. SELECT * FROM `contatti` WHERE rif_utente=1 and email='zio@budda.net' limit 1,100 Ora i contatti doppi (nel mondo reale del database che devo modificare) sono pochi, quindi potrei benissimo farlo "a mano". Però mi sembrava un problema interessante, e volevo sentire opinioni da qualcuno più esperto su un approccio per andare fino in fondo alla questione. Qualche suggerimento? Saluti Marcello From matteo.giacomazzi a gmail.com Tue Apr 10 17:07:09 2007 From: matteo.giacomazzi a gmail.com (Matteo Giacomazzi) Date: Tue Apr 10 17:40:39 2007 Subject: [Db] MySQL e COLLATION Message-ID: Ciao, ho un db MySQL 4.0.24 e sto sperimentando quanto vedo in questa pagina di manuale: http://dev.mysql.com/doc/refman/4.1/en/charset-examples.html Tuttavia mi dà sempre un errore di sintassi quando incontra la keyword COLLATE. Ho la necessità di modificare la collation di una colonna in modo da ottenere una query case insensitive ma pare che il db non riconosca la keyword... qualcuno ha esperienza in merito? Grazie! Ciao, -- Matteo -------------- parte successiva -------------- Un allegato HTML è stato rimosso... URL: http://lists.ziobudda.net/pipermail/db/attachments/20070410/326f4967/attachment.htm From matteo a xelefant.com Tue Apr 10 17:12:10 2007 From: matteo a xelefant.com (Tinazzi Matteo) Date: Tue Apr 10 17:45:32 2007 Subject: [Db] MySQL e COLLATION References: Message-ID: <014301c77b82$9de8c0b0$7500a8c0@Matteo> Matteo Giacomazzi wrote: Ciao, ho un db MySQL 4.0.24 e sto sperimentando quanto vedo in questa pagina di manuale: http://dev.mysql.com/doc/refman/4.1/en/charset-examples.html stai guardando sul manuale di mysql 4.1 non del 4.0 ;) ------------------------------------ Tinazzi Matteo X-Elefant Software s.r.l. Via Treviso 61/13 31057 Silea (Treviso) ICQ# 71-883-066 ------------------------------------ -------------- parte successiva -------------- Un allegato HTML è stato rimosso... URL: http://lists.ziobudda.net/pipermail/db/attachments/20070410/2065fd81/attachment.html From cristiano a verondini.it Tue Apr 10 17:10:08 2007 From: cristiano a verondini.it (Cristiano Verondini) Date: Tue Apr 10 17:46:08 2007 Subject: [Db] MySQL e COLLATION References: Message-ID: <008601c77b82$57471670$6301a8c0@IdeaFutura.local> ho un db MySQL 4.0.24 e sto sperimentando quanto vedo in questa pagina di manuale: http://dev.mysql.com/doc/refman/4.1/en/charset-examples.html Tuttavia mi dà sempre un errore di sintassi quando incontra la keyword COLLATE. Ho la necessità di modificare la collation di una colonna in modo da ottenere una query case insensitive ma pare che il db non riconosca la keyword... qualcuno ha esperienza in merito? Le collation non erano state introdotte dal 4.1 in su? Cris -- Cristiano Verondini http://www.verondini.it --- [ICQ: 114 190] -------------- parte successiva -------------- Un allegato HTML è stato rimosso... URL: http://lists.ziobudda.net/pipermail/db/attachments/20070410/c3b1b048/attachment.htm From matteo.giacomazzi a gmail.com Tue Apr 10 17:22:01 2007 From: matteo.giacomazzi a gmail.com (Matteo Giacomazzi) Date: Tue Apr 10 17:55:01 2007 Subject: [Db] MySQL e COLLATION In-Reply-To: <008601c77b82$57471670$6301a8c0@IdeaFutura.local> References: <008601c77b82$57471670$6301a8c0@IdeaFutura.local> Message-ID: Ciao, Il 10/04/07, Cristiano Verondini ha scritto: > > > Le collation non erano state introdotte dal 4.1 in su? > È probabile ma non ho trovato un manuale specifico: tengono assieme i manuali del 3.23, 4.0 e 4.1 e non si capisce più quali feature sono pertinenti a quale versione! :( In questo caso non esiste un modo per effettuare query case insensitieve? Grazie! Ciao, -- Matteo -------------- parte successiva -------------- Un allegato HTML è stato rimosso... URL: http://lists.ziobudda.net/pipermail/db/attachments/20070410/56e634cf/attachment.html From matteo.giacomazzi a gmail.com Tue Apr 10 17:26:33 2007 From: matteo.giacomazzi a gmail.com (Matteo Giacomazzi) Date: Tue Apr 10 17:59:34 2007 Subject: [Db] MySQL e COLLATION In-Reply-To: References: <008601c77b82$57471670$6301a8c0@IdeaFutura.local> Message-ID: Il 10/04/07, Matteo Giacomazzi ha scritto: > > In questo caso non esiste un modo per effettuare query case insensitieve? > Ok, trovato! La clausola BINARY davanti al nome del campo da confrontare risolve! Grazie! -- Matteo -------------- parte successiva -------------- Un allegato HTML è stato rimosso... URL: http://lists.ziobudda.net/pipermail/db/attachments/20070410/7739f78d/attachment.htm From cristiano a verondini.it Tue Apr 10 18:19:27 2007 From: cristiano a verondini.it (Cristiano Verondini) Date: Tue Apr 10 18:55:50 2007 Subject: [Db] MySQL e COLLATION References: <008601c77b82$57471670$6301a8c0@IdeaFutura.local> Message-ID: <00a001c77b8c$0672e760$6301a8c0@IdeaFutura.local> La clausola BINARY davanti al nome del campo da confrontare risolve! Cioè in modalità binaria fa un confronto case *in*sensitive? Il mondo va proprio a rovescio! :)) Cris -------------- parte successiva -------------- Un allegato HTML è stato rimosso... URL: http://lists.ziobudda.net/pipermail/db/attachments/20070410/740acc9b/attachment.html From matteo.giacomazzi a gmail.com Tue Apr 10 18:31:54 2007 From: matteo.giacomazzi a gmail.com (Matteo Giacomazzi) Date: Tue Apr 10 19:05:00 2007 Subject: [Db] MySQL e COLLATION In-Reply-To: <00a001c77b8c$0672e760$6301a8c0@IdeaFutura.local> References: <008601c77b82$57471670$6301a8c0@IdeaFutura.local> <00a001c77b8c$0672e760$6301a8c0@IdeaFutura.local> Message-ID: Il 10/04/07, Cristiano Verondini ha scritto: > > La clausola BINARY davanti al nome del campo da confrontare risolve! > > Cioè in modalità binaria fa un confronto case *in*sensitive? Il mondo > va proprio a rovescio! :)) > Case _sensitive_, ho sbagliato nella domanda per due volte (alla faccia dell'Alzheimer!). Il case *in*sensitive è il default di MySQL. Ciao! -- Matteo -------------- parte successiva -------------- Un allegato HTML è stato rimosso... URL: http://lists.ziobudda.net/pipermail/db/attachments/20070410/039502df/attachment-0001.htm