phpBB Italia chiude!
phpBB Italia ringrazia tutti gli utenti che hanno dato fiducia al nostro progetto per ben 9 anni, e che, grazie al grande lavoro fatto da tutto lo Staff (rigorosamente a titolo gratuito), hanno portato il portale a diventare il principale punto di riferimento italiano alla piattaforma phpBB.

Purtroppo, causa motivi personali, non ho più modo di gestirlo e portarlo avanti. Il forum viene ora posto in uno stato di sola lettura, nonché un archivio storico per permettere a chiunque di fruire di tutte le discussioni trattate.

Il nuovo portale di assistenza per l'Italia di phpBB diventa phpBB-Store.it, cui ringrazio per aver deciso di portare avanti questo grande progetto.

Grazie ancora,
Carlo - Amministratore di phpBB Italia

Richiesta Query MySql

Area di discussione relativa al linguaggio di programmazione web più conosciuto. Il forum è dedicato anche a MySQL, la piattaforma di database più utilizzata con il PHP.
Avatar utente
arnold layne
Utente
Utente
Messaggi: 147
Iscritto il: 23/07/2012, 9:04
Sesso: Maschio
Versione: 3.0.13-PL1
Server: UNIX/Linux
PHP: 5.3.29
Database: MySQL 5.5.42
Contatta:

Richiesta Query MySql

Messaggio da arnold layne » 08/10/2012, 13:50

Vi faccio un esempio. Ho ripristinato un database ed è tutto è ok al 99% tranne il campo topic_desc che è rimasto vuoto.

Se eseguo questa query

Codice: Seleziona tutto

INSERT INTO `phpbb_topics` (`topic_id`, `topic_desc`) VALUES
(43763, 'DVD9 1:1');
da errore perchè il topic_id è gia presente.

Come potrei fare a riempiere i topic_desc vuoti con i valori che ho da una vecchia tabella? (il topic_id è sempre il medesimo)

Avatar utente
Micogian
Leader Programmatori
Leader Programmatori
Messaggi: 3704
Iscritto il: 07/01/2010, 8:51
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.4.36
Database: MySQL 5.1.70-log
Località: Udine
Contatta:

Re: Richiesta Query MySql

Messaggio da Micogian » 08/10/2012, 15:19

Da quello che mi risulta topic_desc non è un campo originale, fa parte di una Mod che aggiunge una descrizione al Title.
A parte questo il comando INSERT aggiunge un record, ovvio che segnali che il topic_id è già presente.
Devi "modificare" un record e questo si fa con UPLOAD

Codice: Seleziona tutto

UPLOAD 'phpbb_topics` SET `topic_desc` = 'DVD9 1:1' WHERE topic_id = '43763';
Attenzione però, controlla che il campo esista, visto che non è un campo originale.

Avatar utente
arnold layne
Utente
Utente
Messaggi: 147
Iscritto il: 23/07/2012, 9:04
Sesso: Maschio
Versione: 3.0.13-PL1
Server: UNIX/Linux
PHP: 5.3.29
Database: MySQL 5.5.42
Contatta:

Re: Richiesta Query MySql

Messaggio da arnold layne » 08/10/2012, 15:30

Micogian ha scritto:Da quello che mi risulta topic_desc non è un campo originale, fa parte di una Mod che aggiunge una descrizione al Title.
A parte questo il comando INSERT aggiunge un record, ovvio che segnali che il topic_id è già presente.
Devi "modificare" un record e questo si fa con UPLOAD

Codice: Seleziona tutto

UPLOAD 'phpbb_topics` SET `topic_desc` = 'DVD9 1:1' WHERE topic_id = '43763';
Attenzione però, controlla che il campo esista, visto che non è un campo originale.
installando la mod, il campo è identico ... io dovrei farlo con tutti i topic

esempio

Codice: Seleziona tutto


INSERT INTO `phpbb_topics` (`topic_id`, `topic_desc`) VALUES
(6843, 'DivX, 1CD, MP3 iTA, AVi, Drammatico/Storico'),
(8, 'La distro linux piu completa'),
(10, 'DVD, MuxU, XviD, MP3 ITA, Avi 3 DVD'),
(11, 'DVB, Rip, DivX, Mp3 iTA, AVi, 2 DVD'),
(16796, 'Xvid, 1CD, MP3 Ita, Avi'),
(17, 'Creare copie di backup dei propri DVD'),
(18866, 'DVD, Rip, Xvid, MP3 ITA/ENG, 2 DVD'),
(18867, 'DVB-T, Rip, XVID, MP3 ITA, AVI, 2 DVD'),
(18869, 'XviD, 2 DVD, Mp3 Ita/AC3 Jap, Avi'),
(18870, 'DVD, MuxU, XviD, Mp3 ITA, Avi, 2 DVD'),
(18871, 'DVD, muxU, DivX, MP3 ita/eng, AVI, 2 DVD'),
(18873, '1CD,MP3,AVI.'),
(18875, '1CD, MP3, AVI'),
(18876, ''),
(29574, '(Multimedia) VideoLan Plus (by Fabianator)'),
(18878, 'XviD, 1 CD, Mp3 ITA, AVI'),
(18879, 'DivX, 2CD, MP3 ITA, AVI'),
(18880, '2CD, DVDRIP, XVID, AVI, AC3, commedia, drammatico'),
(18881, '2CD, DVDRIP, XVID, AVI, MP3, Drammatico'),
(18882, '2 CD, XviD,  Ac3 ITA, Avi'),
(18883, '1 CD, DivX, Mp3 ITA, AVI'),
(18884, '769Mb, DVDMux, DivX,  Mp3 Ita/Eng, Avi'),
(18885, '1CD, DVDRip, XviD, Mp3 ITA, AVI'),
(18886, '1 CD, VHSRip, DivX, Mp3 ITA, AVI'),
(26796, '1CD, DVDmUX, AVI, MP3, Fantascienza, Horror, Thriller'),
(18888, '1CD, DVDRip, XviD, Mp3 ITA, AVI'),
(18890, '1CD, DVDRIP, XVID, AVI, MP3, Animazione'),
(18891, 'DVB-T Rip, xvid, MP3 ITA, Avi, 2 DVD'),
(18893, '1CD, DVDRIP, XVID, AVI, MP3, Drammatico'),
(18894, '1CD, DVDRIP, XVID, AVI, AC3, Commedia, Romantico'),
(18895, '2CD, DVDRIP, XVID, AVI, AC3, Commedia'),
(18896, '2CD, DVDRIP, XVID, AVI, AC3, Drammatico'),
(18897, '2CD, DVDRIP, XVID, AVI, AC3, Thriller'),
(18898, ''),
(18899, 'XviD, 1CD, AC3 ENG, HardSUB iTA, AVi, Azione'),
(18900, 'DX50, 1CD, MP3 ENG, HardSUB iTA, AVi, Animazione'),
(18901, ''),
(18902, 'TV-DVB-T, Rip, DivX, MP3 Ita, Avi, 3 DVD'),
(18903, 'ENG - Software per la conversione da PDF a Excel'),
(18904, 'DVB-S, RIP, DivX, Mp3 ITA, AVI, 2 DVD'),
(20012, 'DivX, 1CD, MP3 ITA, AVI'),
(18906, 'DVD5 1.1'),
(29499, ''),

;

Avatar utente
Micogian
Leader Programmatori
Leader Programmatori
Messaggi: 3704
Iscritto il: 07/01/2010, 8:51
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.4.36
Database: MySQL 5.1.70-log
Località: Udine
Contatta:

Re: Richiesta Query MySql

Messaggio da Micogian » 08/10/2012, 15:42

Tu hai affermato di aver rispristinato il database, ma il campo "topic_desc" c'era nel backup ?
Le strade sono due, o si fa un nuovo INSERT, ma la tabella deve essere vuota o si fa una modifica con UPLOAD, ma questo dipende da quanti records sono da modificare.
Si può anche creare un file che contenga tutti i records da modficare ma ad ogni record ci vuole un UPLOAD

Avatar utente
arnold layne
Utente
Utente
Messaggi: 147
Iscritto il: 23/07/2012, 9:04
Sesso: Maschio
Versione: 3.0.13-PL1
Server: UNIX/Linux
PHP: 5.3.29
Database: MySQL 5.5.42
Contatta:

Re: Richiesta Query MySql

Messaggio da arnold layne » 08/10/2012, 15:44

provata la tua query per un singolo topic da errore stringa

Codice: Seleziona tutto

UPLOAD `avphpbb_topics` SET `topic_desc` = 'DVD9 1:1' WHERE `topic_id` = '43763';

Avatar utente
Barrnet
Leader Moderatori
Leader Moderatori
Messaggi: 3124
Iscritto il: 04/07/2010, 23:31
Sesso: Maschio
Versione: 3.0.10
Server: UNIX/Linux
PHP: 5.3.10
Database: MySQL 5.1.61-community-log
Contatta:

Re: Richiesta Query MySql

Messaggio da Barrnet » 08/10/2012, 16:10

Se il backup non ti ha ripristinato quel campo io mi farei qualche domanda sull'integrità del backup e verificherei se è stato caricato tutto.Prova con:

Codice: Seleziona tutto

UPDATE `avphpbb_topics` SET `topic_desc` = 'DVD9 1:1' WHERE `topic_id` = '43763';

Avatar utente
Micogian
Leader Programmatori
Leader Programmatori
Messaggi: 3704
Iscritto il: 07/01/2010, 8:51
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.4.36
Database: MySQL 5.1.70-log
Località: Udine
Contatta:

Re: Richiesta Query MySql

Messaggio da Micogian » 08/10/2012, 16:13

Errore mio, volevo dire UPDATE, non UPLOAD.

Avatar utente
arnold layne
Utente
Utente
Messaggi: 147
Iscritto il: 23/07/2012, 9:04
Sesso: Maschio
Versione: 3.0.13-PL1
Server: UNIX/Linux
PHP: 5.3.29
Database: MySQL 5.5.42
Contatta:

Re: Richiesta Query MySql

Messaggio da arnold layne » 08/10/2012, 16:14

Micogian ha scritto:Errore mio, volevo dire UPDATE, non UPLOAD.
Ora è ok, me ne sono accorto anche io, appena hai risposto. :lol:

Ora viene il bello, per farlo su tutti i topic o almeno una parte per volta?

se faccio cosi

Codice: Seleziona tutto

INSERT INTO `avphpbb_topics` (`topic_id`, `topic_desc`) VALUES
(6843, 'DivX, 1CD, MP3 iTA, AVi, Drammatico/Storico'),
(8, 'La distro linux piu completa'),
(10, 'DVD, MuxU, XviD, MP3 ITA, Avi 3 DVD'),
(11, 'DVB, Rip, DivX, Mp3 iTA, AVi, 2 DVD'),
(16796, 'Xvid, 1CD, MP3 Ita, Avi'),
(17, 'Creare copie di backup dei propri DVD'),
(18866, 'DVD, Rip, Xvid, MP3 ITA/ENG, 2 DVD');
#1062 - Duplicate entry '6843' for key 'PRIMARY'

Non cè modo per non fare riconoscere duplicato?

Avatar utente
Micogian
Leader Programmatori
Leader Programmatori
Messaggi: 3704
Iscritto il: 07/01/2010, 8:51
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.4.36
Database: MySQL 5.1.70-log
Località: Udine
Contatta:

Re: Richiesta Query MySql

Messaggio da Micogian » 08/10/2012, 17:53

Allora non mi sono spiegato. Dimentica INSERT, a meno che tu non voglia importare nuovamente tutta la tabella.

INSERT serve ad "aggiungere" un record in una tabella.
UPDATE serve a "modificare" un record già esistente.

Se tu hai un backup della tabella che contiene il topic_desc ti conviene importare nuovamente la tabella ma per usare INSERT la tabella deve essere vuota. Ovviamente sempre che tu abbia un backup sql dove devi estrarre solo la tabella topics.
Se devi modificare devi usare necessariamente UPDATE, magari predisponendo un file sql con i dati che vuoi modificare, in sostanza tante righe come quelle messe ad esempio, una per ogni record da modificare.

Avatar utente
arnold layne
Utente
Utente
Messaggi: 147
Iscritto il: 23/07/2012, 9:04
Sesso: Maschio
Versione: 3.0.13-PL1
Server: UNIX/Linux
PHP: 5.3.29
Database: MySQL 5.5.42
Contatta:

Re: Richiesta Query MySql

Messaggio da arnold layne » 08/10/2012, 18:02

Micogian ha scritto:Allora non mi sono spiegato. Dimentica INSERT, a meno che tu non voglia importare nuovamente tutta la tabella.

INSERT serve ad "aggiungere" un record in una tabella.
UPDATE serve a "modificare" un record già esistente.

Se tu hai un backup della tabella che contiene il topic_desc ti conviene importare nuovamente la tabella ma per usare INSERT la tabella deve essere vuota. Ovviamente sempre che tu abbia un backup sql dove devi estrarre solo la tabella topics.
Se devi modificare devi usare necessariamente UPDATE, magari predisponendo un file sql con i dati che vuoi modificare, in sostanza tante righe come quelle messe ad esempio, una per ogni record da modificare.
Puoi farmi un esempio? Io una tabella backup topics con i soli topic id e topic desc, la vedi sopra fra il code

Rispondi

Torna a “PHP - MySQL”

Chi c’è in linea

Visitano il forum: Nessuno e 55 ospiti