Mysql
 sql >> Database >  >> RDS >> Mysql

Query batch MySQL complicata

Non utilizzare colonne con incremento automatico:preallocare gli ID di riferimento prima di inserirli. In questo modo puoi utilizzare un inserimento collettivo e rimuovere la dipendenza.

Aggiornamento:

  1. Seleziona qualsiasi ID esistente fuori dal database (idealmente una singola selezione per tutti i dati noti).

  2. Arricchisci i dati da inserire con qualsiasi ID noto. (calcola una chiave per ogni elemento, che corrisponderebbe alla chiave primaria per la tua tabella nel database, usala per aggiornare l'elemento con l'id dal database) - vuoi infine dividere i dati in elementi che conosci in il database, e quindi hanno un ID noto - e dati che non esistono nel database, e quindi necessitano di un'allocazione di chiave. Presumo che la tua tabella abbia una chiave primaria che non è solo l'id, altrimenti in quale altro modo il database saprebbe che hai già i dati nel database.

  3. Assegna nuovi ID a qualsiasi record senza ID.

  4. sostituzione in blocco dei dati nel database (inserimento di più righe con una singola istruzione).