Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. Copia tabella su altra tabella
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • P
      peterminnow User Attivo • ultima modifica di

      Avrei trovato qualcosa quì

      http://guide.dada.net/database/interventi/2001/05/45041.shtml

      ...ma non riesco!

      sto facendo una prova con questo...ma ovviamente non funziona!

      $query = "UPDATE weborders_clienti SET Email = SELECT email FROM weborders_users WHERE id!=' '";

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • I
        ienavr User Attivo • ultima modifica di

        $query = "UPDATE weborders_clienti SET Email = (SELECT email FROM weborders_users WHERE id!=' ')";

        così è già più corretta ma devi anche dirgli dove fare l'update però

        se vuoi fare l'update su tutte le righe usa REPLACE

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • P
          peterminnow User Attivo • ultima modifica di

          infatti l'errore che mi torna è questo:

          UPDATE weborders_clienti SET Email = (SELECT email FROM weborders_users WHERE id!=' ')Subquery returns more than 1 row

          stesso errore con REPLACE

          REPLACE weborders_clienti SET Email = (SELECT email FROM weborders_users WHERE id!=' ')Subquery returns more than 1 row

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • I
            ienavr User Attivo • ultima modifica di

            perchè devi aggiungere un WHERE esterno:

            REPLACE weborders_clienti SET Email = (SELECT email FROM weborders_users WHERE id!=' ') WHERE id != ' '

            però ti serve anche un'altra condizione di corrispondenza affinchè la query sia eseguita con criterio e non sovrascriva valori sballati

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • P
              peterminnow User Attivo • ultima modifica di

              okm ora provo..infatti stavo provando con questa:

              $query = "UPDATE weborders_clienti SET Email = (SELECT email FROM weborders_users WHERE email) WHERE Email";

              ..non mi dà errore ma nemmeno la modifica!!

              ora provo la tua

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • P
                peterminnow User Attivo • ultima modifica di

                mi da questo errore:

                REPLACE weborders_clienti SET Email = (SELECT email FROM weborders_users WHERE id!=' ') WHERE id !=' 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id !=' '' at line 1

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • I
                  ienavr User Attivo • ultima modifica di

                  scusa...avevo sbagliato a copiare e incollare!

                  Non volevo scrivere:

                  REPLACE weborders_clienti SET Email = (SELECT email FROM weborders_users WHERE id!=' ') WHERE id !=' '

                  ma

                  UPDATE weborders_clienti SET Email = (SELECT email FROM weborders_users WHERE id!=' ') WHERE id !=' '

                  però devi aggiungere un AND e un'altra condizione perchè funzioni correttamente

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • P
                    peterminnow User Attivo • ultima modifica di

                    sto provando questa:

                    $query = "UPDATE weborders_clienti SET Email = (SELECT email FROM weborders_users WHERE id!=' ') WHERE Email AND email";

                    ...non mi dà errore ma nemmeno la modifica!

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • I
                      ienavr User Attivo • ultima modifica di

                      cosa significa: WHERE Email AND email" ??

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • P
                        peterminnow User Attivo • ultima modifica di

                        sai quando una cosa non si studia dalle basi, e quindi sapere cosa si fà, questo è il risultato!
                        cerco di mettercela tutta per capire...ma forse sto iniziando con una auto di grossa cilidrata!

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • I
                          ienavr User Attivo • ultima modifica di

                          beh te la stai cavando bene mi pare!

                          cmq la mia domanda di prima era per cercare di capire cosa volessi fare con quella istruzione...forse è solo scritta male...

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • P
                            peterminnow User Attivo • ultima modifica di

                            ...in realtà cercavo di mettere in pratica ciò che avevo trovato a questo indirizzo:

                            http://guide.dada.net/database/interventi/2001/05/45041.shtml

                            Come per la insert vanno rispettati tutti i constraint e le dimensioni e i tipi dei campi. Quindi non e' possibile modificare un numero e sostituirlo con una stringa, annullare il valore di una colonna not null ecc.
                            E' possibile modificare uno o piu' record andando a prendere il valore da un'altra tabella o dalla stessa, ad esempio supponiamo di voler spostare MARIO BIANCHI nella stessa sede di PAOLO VERDI.
                            Potremmo andare a leggere, con una select, dalla tabella impiegati la sede del sig. VERDI e successivamente, con una update modificare la sede del sig. BIANCHI, oppure fare tutto con una sola istruzione:

                            UPDATE impiegati
                            set sede = (SELECT sede FROM impiegati WHERE nome = 'PAOLO' AND cognome='VERDI')
                            WHERE nome = 'MARIO' AND cognome ='BIANCHI';

                            ma non sembra che ci stia riuscendo!

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            • P
                              peterminnow User Attivo • ultima modifica di

                              allora con questa:

                              $query = "UPDATE weborders_clienti SET Email = (SELECT email FROM weborders_users WHERE Email)";

                              si cancellano tutte le mail in weborders_clienti! quindi forse è la strada giusta!!...la vedo molto lunga

                              0 Miglior Risposta Ringrazia Cita Rispondi

                                1 Risposta Ultima Risposta
                              • P
                                peterminnow User Attivo • ultima modifica di

                                scusate l'insistenza....ma cerco di andare avanti un po per tentativi ed un po su manuali, e quindi sto provando e riprovando con questa istruzione UPDATE.
                                Ad esempio con questa:

                                $query ="UPDATE weborders_clienti SET Email=5 WHERE Email!=' '";

                                inserisco il numero 5 in tutti i campi Email della tabella **weborders_clienti

                                **quindi ora se invece del numero 5 io devo inserire dei dati che devo prendere da un'altra tabella, ad esempio weborders_users al posto del 5 dovrei inserire (SELECT email FROM weborders_users WHERE Email) ma cosi facendo invece mi cancella tutte le Email in **weborders_clienti, **quindi già partendo con questa semplice cosa non funziona, figuriamoci che poi i campi su dove devo fare UPDATE sono diversi!!...ma almeno la soddisfazione di risolvere dalle cose più semplici!
                                Grazie cmq del sostegno avuto fino ad ora, che non è stato poco!
                                ciao a tutti Peter

                                0 Miglior Risposta Ringrazia Cita Rispondi

                                  1 Risposta Ultima Risposta
                                • I
                                  ienavr User Attivo • ultima modifica di

                                  $query = "UPDATE weborders_clienti SET Email = (SELECT email FROM weborders_users WHERE email) WHERE Email!=' '";

                                  0 Miglior Risposta Ringrazia Cita Rispondi

                                    1 Risposta Ultima Risposta
                                  • P
                                    peterminnow User Attivo • ultima modifica di

                                    se ad esempio provo questa e i di weborders_clienti sono vuoti, non mi da errore ma nemmeno inserisce dati.
                                    Se invece i campi sono pieni, ossia ci sono email inserite l'errore è questo:

                                    UPDATE weborders_clienti SET Email = (SELECT email FROM weborders_users WHERE email!=' ') WHERE Email !=' 'Subquery returns more than 1 row

                                    pardon era errata la query, ora ho provato questa:
                                    $query = "UPDATE weborders_clienti SET Email = (SELECT email FROM weborders_users WHERE email) WHERE Email!=' '";

                                    che cmq cancella tutte le mail nella tabella weborder_clienti

                                    0 Miglior Risposta Ringrazia Cita Rispondi

                                      1 Risposta Ultima Risposta
                                    • P
                                      peterminnow User Attivo • ultima modifica di

                                      nulla non funziona!!!!

                                      0 Miglior Risposta Ringrazia Cita Rispondi

                                        1 Risposta Ultima Risposta
                                      • P
                                        peterminnow User Attivo • ultima modifica di

                                        scusate ragazzi se sono ancora qui....ma ho trovato una soluzione direi disarmante!!!.....vorrei un parere.
                                        In poche parole con questa:
                                        $query = "DELETE FROM weborders_clienti WHERE Email < 10";
                                        cancello prima tutto e poi con INSERT reinserisco tutto.

                                        Ma a quale problematiche potrei andare incontro?

                                        0 Miglior Risposta Ringrazia Cita Rispondi

                                          1 Risposta Ultima Risposta
                                        Caricamento altri post
                                        Rispondi
                                        • Topic risposta
                                        Effettua l'accesso per rispondere
                                        • Da Vecchi a Nuovi
                                        • Da Nuovi a Vecchi
                                        • Più Voti