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

MySQL Tabelnavne med små bogstaver i Windows Navne med store bogstaver på Unix

Taget fra dev.mysql.com :

For at undgå dataoverførselsproblemer, der opstår som følge af database- eller tabelnavne, har du to muligheder:

  • Brug small_case_table_names=1 på alle systemer. Den største ulempe ved dette er, at når du bruger SHOW TABLES eller SHOW DATABASES, ser du ikke navnene i deres originale bogstaver.
  • Brug small_case_table_names=0 på Unix og lower_case_table_names=2 på Windows. Dette bevarer bogstaverne for database- og tabelnavne. Ulempen ved dette er, at du skal sikre, at dine udsagn altid refererer til dine database- og tabelnavne med det rigtige bogstav på Windows. Hvis du overfører dine udsagn til Unix, hvor bogstaver har betydning, virker de ikke, hvis bogstaverne er forkerte.

Undtagelse:Hvis du bruger InnoDB-tabeller, og du forsøger at undgå disse dataoverførselsproblemer, bør du indstille small_case_table_names til 1 på alle platforme for at tvinge navne til at blive konverteret til små bogstaver.

Hvis du planlægger at sætte systemvariablen small_case_table_names til 1 på Unix, skal du først konvertere dine gamle database- og tabelnavne til små bogstaver, før du stopper mysqld og genstarter den med den nye variabelindstilling.



  1. Ordliste over SQL Server-forespørgsler — A Stick Shift for DBA'er

  2. fail execute statement med php og mysql

  3. H2 postgresql-tilstand virker ikke for mig

  4. Hierarkisk liste over triggerhændelsestyper i SQL Server 2019