Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Query insert da select

  1. #1

    Query insert da select

    Ciao, esiste una query che dice a mysql di prendere una riga con id dato e di inserirla come nuova riga?

    Eventualmente anche selezionare solo alcuni dei campi della tabella.

    Mi serve per duplicare delle righe.
    Ciao!

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    320
    prima deve leggere i dati per riscriverli per cui devi fare un select e poi un insert
    Felicità e Prosperità a tutti

  3. #3
    si, lo so, ma mi chiedevo se si potesse fare qualcosa tipo:

    INSERT INTO tabella VALUES (SELECT * FROM tabella WHERE id = 'ID')
    Ovviamente questa è un esempio, lo so che non funziona...

    Insomma io dovrei duplicare una riga del database.
    Ciao!

  4. #4
    Trovato!

    Per duplicare totalmente il contenuto di una tabella su se stessa basta usare:
    INSERT INTO MYTABLE SELECT * FROM MYTABLE

    È possibile anche utilizzare la clausa di WHERE se necessario:
    INSERT INTO MYTABLE SELECT * FROM MYTABLE WHERE a=b

    Nel caso la tabella possiede qualche indice o chiave univoca, che provocherebbe un errore, è possibile filtrare i campi da duplicare:
    INSERT INTO MYTABLE (field1, field2, ...) SELECT field1, field2, ... FROM MYTABLE

    Addirittura è possibile duplicare un record e modificare un valore, ad esempio duplico un campo e gli aggiungo 1:
    INSERT INTO MYTABLE (field1, field2, ...) SELECT (field1+1), field2, ... FROM MYTABLE

    http://www.undolog.com/2009/01/07/ve...ighe-in-mysql/
    Ciao!

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    320
    e io che ho detto?

    Felicità e Prosperità a tutti

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.