Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2015
    Messaggi
    7

    Tabelle temporaneamente mysql

    Salve,
    Ho bisogno usare tabelle temporaneamente mysql creando tramite PHP MyAdmin aplicando:

    CREATE TEMPORARYTABLE `provizore` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `prova1` varchar(255) NOT NULL,
    `prova2` varchar(255) NOT NULL,
    `prova3` varchar(255) NOT NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

    Anche se non mi da errore io non riesco vedere nessun tabella "provizore"

    Il mio hosting e www.tophost.it
    Se qualcuno riesce aiutarmi e pregato contatarmi anche maxalbania@yahoo.com
    GRAZIE

  2. #2
    Utente di HTML.it L'avatar di MySQL
    Registrato dal
    May 2015
    Messaggi
    729
    Quote Originariamente inviata da Marjo Visualizza il messaggio
    Salve,
    Ho bisogno usare tabelle temporaneamente mysql creando tramite PHP MyAdmin aplicando:

    CREATE TEMPORARYTABLE `provizore` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `prova1` varchar(255) NOT NULL,
    `prova2` varchar(255) NOT NULL,
    `prova3` varchar(255) NOT NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

    Anche se non mi da errore io non riesco vedere nessun tabella "provizore"

    Il mio hosting e www.tophost.it
    Se qualcuno riesce aiutarmi e pregato contatarmi anche maxalbania@yahoo.com
    GRAZIE
    Hai messo ENGINE=MyISAM quindi vuoi una tabella fisica (non MEMORY) e quindi avrai una tabella temporanea solo nella sessione corrente e sarà quindi droppata senza pietà nelle altre.
    Probabilmente quindi da PHP apri sessioni diverse sperando che la tabella sopravviva (cosa che non accade)

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2015
    Messaggi
    7

    Dove sbaglio....

    Grazie per la risposta...
    Ho provato secondo i tuoi consigli,aplicando:

    a)
    CREATE TEMPORARY TABLE `provizore` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `prova1` varchar(255) NOT NULL,
    `prova2` varchar(255) NOT NULL,
    `prova3` varchar(255) NOT NULL,
    PRIMARY KEY (`id`)
    )
    ENGINE=MEMORY DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
    In questo modo non va creato nesuna tabella anche se non da errore

    b)Sensa parola TEMPORARY

    CREATE TABLE `provizore` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `prova1` varchar(255) NOT NULL,
    `prova2` varchar(255) NOT NULL,
    `prova3` varchar(255) NOT NULL,
    PRIMARY KEY (`id`)
    )
    ENGINE=MEMORY DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
    In questo modo si crea tabella con opsione tipo=MEMORY ma non si cancellano anche
    spegnere il compiuter.


    Visto che con tuo aiuto un piccolo passo avanti c'e lo fato spero che un altro spunto
    arrivera realizzare.
    Comunque Grazie

  4. #4
    Utente di HTML.it L'avatar di MySQL
    Registrato dal
    May 2015
    Messaggi
    729
    Non comprendo benissimo cosa vuoi fare, questo è il punto.
    Una tabella memory persiste, ma perde il suo contenuto al riavvio del server mysql.
    Una tabella temporanea permane all'interno della sessione; cambi sessione => la tabella sparisce.

    Non puoi creare una tabella temporanea ma semipermanente; ti suggerisco di cambiare la logica del programma.

    La vera domanda da porsi è quindi: ma cosa vuoi fare?
    Poi posso dirti il modo migliore per farlo!

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2015
    Messaggi
    7
    Buongiorno,
    Ti spiego di più...Io vorrei creare tabelle per apoggio,come suporto,che mi servirebeno fine che ciude la sessione del navigatore della web-pagina.Prima di chiudere sessione del navigatore i dati della questa tabella io li trasferisco in una altra tabella permanente.
    Me mi serveno, come capisco io, tabelle TEMPORARY che non riesco io di creare
    Puo essere problema del sever oppure i miei errori???
    Io ho apliccato tramite My PHP Admin questi codici:
    CREATE TEMPORARY TABLE `provizore` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `prova1` varchar(255) NOT NULL,
    `prova2` varchar(255) NOT NULL,
    `prova3` varchar(255) NOT NULL,
    PRIMARY KEY (`id`)
    )
    ENGINE=??????? DEFAULT CHARSET=latin1 AUTO_INCREMENT

    Forse potette darmi altri codici da provare. Non so che cosa deve scrivere

    ENGINE=???????
    DEFAULT CHARSET=latin1 AUTO_INCREMENT

    Grazie

  6. #6
    Utente di HTML.it L'avatar di MySQL
    Registrato dal
    May 2015
    Messaggi
    729
    1) non lo puoi fare, o almeno in modo semplice. Appena la sessione MySQL viene chiusa => la tabella temporanea sparisce.
    Studia quindi qualcosa di diverso
    2) MEMORY. Però attenzione: con un nome può esserci una tabella, non è che puoi fare 100 tabelle "provizore" (mentre puoi farlo con quelle temporanee, ma come detto non van bene nel tuo caso).

    Se proprio vuoi operare come indichi, fai una tabella in memoria (MEMORY), metti un campo che individua l'utente; "purga" tutte le righe dell'utente quando esci dalla fase di inserimento (anzi meglio cancellale pure quando inizi, qualora ne rimanesse qualcuna zombi)

  7. #7
    Il problema e' l'uso di phpmyadmin. Ogni volta che esegui una query viene aperto e subito chiuso il collegamento al server e quindi come ti e' stato detto sparisce la tabella temporanea.

    Dovresti eseguire tutte le query che servono una dopo l'altra nella stessa finestra di query chiuse dal ; oppure fai uno script php che apre e chiude la connessione per tutta l'intera pagina di script o almeno fino a quando non la chiudi tu con il comando mysql_close().

    In altre parole phpmyadmin apre e chiude uno script php ogni volta che esegui una query.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2015
    Messaggi
    7
    Grazie,
    Ho provato secondo i consigli che mi hai dato aplicando questo php:

    <?php
    session_start();
    $PHPSESSID=session_id();
    include 'config.php';
    include 'db.php';
    $query ="CREATE TEMPORARY TABLE IF NOT EXISTS listino
    (
    id int(11) NOT NULL AUTO_INCREMENT,
    nome varchar(255) NOT NULL,
    cognome varchar(255) NOT NULL,
    PRIMARY KEY (id)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1";
    //) ENGINE=TEMPORARY DEFAULT CHARSET=latin1 AUTO_INCREMENT=1";
    if (mysql_query($query,$db))
    echo 'OOOOOKKKKKKKKKK!';
    else
    echo 'NNNNNNNNNNNOOOOOOOOO!';
    //mysql_close();
    ?>


    Non e possibilè verificare tramite MyPHP Admin presenza dela tabella ...
    Spero che potete darmi un aiuto visto che anche in questo caso risposta dell query e "OK"
    GRAZIE

  9. #9
    Utente di HTML.it L'avatar di MySQL
    Registrato dal
    May 2015
    Messaggi
    729
    La risposta te l'ho già scritta, cambia approccio e vivi felice (per modo di dire).

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2015
    Messaggi
    7
    Hai ragione,
    L'altro opsione puo essere l'idea:
    ELIMINARE TABELE CON STESSO PREFISSO
    Visto che io non sono capace di realizzare vi chiedo aiuto anche per questo opsione.
    Comunque Grazie e buon fine settimane

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.