Salve a tutti
ho scritto una procedura di clonazione database in php utilizzando il metodo multy_quey che ancora non conosco bene.
Per alcuni database la query è troppo lunga e mi restituisce errore.
Ho trovato la query per modificare il valore di max_allowed_packet però non capisco una cosa:

Innanzitutto che differenza c'è tra:
  1. set global max_allowed_packet=$num
  2. set max_allowed_packet=$num
  3. set session max_allowed_packet=$num


Inoltre non capisco perché la query a volte funziona ed a volte no. Il numero deve avere dei valori particolari? Tipo multipli di 2?

Infine io vorrei che il mio algoritmo cambiasse la dimensione massima in base alla lunghezza della query e poi rimettesse la precedente. Ora, supposto che la query è lunga x e se è vero che l'impostazione della dimensione massima deve qualche proprietà come posso ricavare la lunghezza necessaria?

Grazie in anticipo