sql >> Database >  >> RDS >> Mysql

MySQL-tabelnamen in kleine letters in Windows-namen in hoofdletters op Unix

Overgenomen van dev.mysql.com :

Om problemen met gegevensoverdracht te voorkomen die ontstaan ​​door de letterkast van database- of tabelnamen, hebt u twee opties:

  • Gebruik lower_case_table_names=1 op alle systemen. Het grootste nadeel hiervan is dat wanneer u SHOW TABLES of SHOW DATABASES gebruikt, u de namen niet in hun originele letterkast ziet.
  • Gebruik lower_case_table_names=0 op Unix en lower_case_table_names=2 op Windows. Hierdoor blijven de letters van database- en tabelnamen behouden. Het nadeel hiervan is dat je ervoor moet zorgen dat je uitspraken op Windows altijd verwijzen naar je database- en tabelnamen met de juiste letterkast. Als je je afschriften overzet naar Unix, waar letterkast belangrijk is, werken ze niet als de letterkast niet klopt.

Uitzondering:als u InnoDB-tabellen gebruikt en u probeert deze problemen met gegevensoverdracht te vermijden, moet u op alle platforms lower_case_table_names instellen op 1 om te voorkomen dat namen worden geconverteerd naar kleine letters.

Als u van plan bent om de systeemvariabele kleine_tabel_namen op 1 in Unix in te stellen, moet u eerst uw oude database- en tabelnamen converteren naar kleine letters voordat u mysqld stopt en het opnieuw start met de nieuwe variabele-instelling.



  1. mysql LOAD DATA INFILE met auto-increment primaire sleutel

  2. mysql FULLTEXT zoek meerdere woorden

  3. Verbindingsverwerking en -beperking met ProxySQL

  4. Waarom verbetert STRAIGHT_JOIN deze zoekopdracht zo drastisch, en wat betekent het als het achter het SELECT-sleutelwoord wordt geschreven?