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

Nomi di tabelle MySQL minuscoli in Windows Nomi maiuscoli su Unix

Tratto da dev.mysql.com :

Per evitare problemi di trasferimento dei dati derivanti da lettere maiuscole di database o nomi di tabelle, hai due opzioni:

  • Utilizza nomi_tabella_minuscoli=1 su tutti i sistemi. Lo svantaggio principale di questo è che quando usi SHOW TABLES o SHOW DATABASES, non vedi i nomi nella loro lettera originale.
  • Usa lower_case_table_names=0 su Unix e lower_case_table_names=2 su Windows. Ciò preserva le lettere maiuscole del database e dei nomi delle tabelle. Lo svantaggio di ciò è che devi assicurarti che le tue affermazioni facciano sempre riferimento al tuo database e ai nomi delle tabelle con le lettere maiuscole corrette su Windows. Se trasferisci le tue dichiarazioni a Unix, dove il lettercase è significativo, non funzionano se il lettercase non è corretto.

Eccezione:se stai utilizzando le tabelle InnoDB e stai cercando di evitare questi problemi di trasferimento dei dati, dovresti impostare lower_case_table_names su 1 su tutte le piattaforme per forzare la conversione dei nomi in minuscolo.

Se prevedi di impostare la variabile di sistema lower_case_table_names su 1 su Unix, devi prima convertire il vecchio database e i nomi delle tabelle in minuscolo prima di interrompere mysqld e riavviarlo con la nuova impostazione della variabile.