Sto utilizzando PostgreSQL 9.3.INSERISCI IN ... DA SELEZIONARE ... RESTITUISCE mappature di identificazione
Voglio duplicare alcuni dei record db. Dato che sto utilizzando un id pk di incremento automatico per la tabella, voglio recuperare i mapping degli ID dagli ID generati dei record duplicati a quelli originali. Ad esempio, dire ho una tabella posts
con 2 record in esso:
[{'id': 1, 'title': 'first'}
, {'id': 2. 'title': 'second'}]
Con SQL:
INSERT INTO posts (title) SELECT title FROM posts RETURNING id, ??
mi aspetto di vedere le mappature come:
[{'id': 3, 'from_id': 1}
, {'id': 4, 'from_id': 2}]
Qualche idea su come compilare i punti interrogativi sopra per farlo funzionare? Molte grazie!
ti pensato potrebbe essere in grado di farlo tramite aliasing: 'FROM posts oldposts', quindi facendo riferimento ai vecchi e nuovi alias nella clausola' RETURNING'. Comunque non sembra. Difficile. –
@CraigRinger sì, ci ho provato anche io. Ti chiedi perché non funziona in questo modo. – fengye87
è quasi un duplicato di http://stackoverflow.com/questions/7115941 che non ha una risposta accettata. –