L’errore 1071 si verifica quando si tenta di creare un indice con una lunghezza che supera il limite massimo consentito. Questo errore è comune quando si utilizza un charset che utilizza più di 1 byte per carattere come utf8mb4 su MariaDB.
MariaDB a partire dalla versione 10.2.2 supporta un’elevata lunghezza massima per gli indici. Se puoi, aggiornare a una nuova versione potrebbe risolvere il problema. Se non puoi aggiornare, ci sono due possibili soluzioni:
1. Ridurre la lunghezza dell’indice: Se l’indice crea un errore perché supera i 767 byte, potrebbe essere possibile ridurre la lunghezza dell’indice. Per esempio, se stai indicizzando una colonna VARCHAR con utf8mb4, che utilizza 4 byte per carattere, l’indice risulterà essere di 1020 byte, che supera il limite di 767 byte. In questo caso, potresti essere in grado di risolvere l’errore riducendo la lunghezza della colonna.
```
ALTER TABLE myTable MODIFY COLUMN myColumn VARCHAR;
```
1. Cambiare la configurazione del server: Un’altra possibile soluzione è cambiare il formato del file InnoDB sul tuo server MariaDB. Questo può essere fatto modificando il file di configurazione (my.cnf o my.ini, a seconda del tuo sistema) e aggiungendo le seguenti righe sotto la sezione [mysqld]:
```
innodb_file_format = Barracuda
innodb_file_per_table = 1
innodb_large_prefix = 1
```
Dopo aver apportato queste modifiche, riavvia il server MariaDB. Questa soluzione può non essere possibile se non hai l’accesso alla configurazione del server.