Domanda

(MySQL) Sto provando a migrare un tavolo "abbonamento" in 3 nuove tabelle: "prodotto", "abbonamento", "reali" in cui "reale" è il nome del prodotto reale, diciamo, newsletter. L'abbonamento ha un riferimento FK al prodotto e l'attuale ha di riferimento FK in abbonamento.

So che la dichiarazione INSERT INTO SELECT può copiare i dati probabilmente da molte tabella a uno; c'è una dichiarazione di fare il contrario, uno a molti tavoli per il mio caso?

È stato utile?

Soluzione

Non sono a conoscenza di un'istruzione SQL che farà quello che vuoi. Basta fare alcuni INSERT INTO SELECT uno dopo l'altro. Può essere più veloce a fare loro uno alla volta in ogni caso.

Altri suggerimenti

penso che si può utilizzare tre inserto separato in istruzioni select. In primo luogo si converte la tabella di prodotto, quindi l'abbonamento in cui è possibile utilizzare un select incorporato per trovare l'id nella tabella dei prodotti:

insert into subscription (some_column, FK_id,...)
select something, (select id from product where <your where clause>),... 

e infine convertire la tabella effettiva utilizzando un select incorporato per ottenere l'id dalla tabella di sottoscrizione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top