Giltiga MySQL -kolumnnamn måste följa dessa regler:
* Börja med en bokstav eller understreck (_): De kan inte börja med ett nummer.
* innehåller endast alfanumeriska tecken eller understreck: Detta betyder bokstäver (A-Z, A-Z), siffror (0-9) och understreck är tillåtna. Inga utrymmen, specialtecken (utom understreck) eller andra symboler är tillåtna.
* är inte reserverade ord: MySQL har en uppsättning reserverade ord (som "Select", "från", "var", "tabell", "databas", etc.) som inte kan användas som kolumnnamn. En fullständig lista finns i MySQL -dokumentationen. Att använda backticks (`) kan ofta låta dig kringgå detta, även om det i allmänhet är bäst att undvika reserverade ord helt.
* fallkänsligt (vanligtvis): Medan MySQL i allmänhet är skiftkänslig för identifierare, är bästa praxis att hålla sig till en konsekvent namnkonvention (t.ex. all små bokstäver). Fasekänsligheten kan bero på serverns konfiguration och hur du får åtkomst till databasen. Det är säkrare att behandla dem som fallkänsliga.
* Längdbegränsningar: Även om det inte finns någon strikt, fast gräns, är alltför långa namn i allmänhet avskräckta av praktiska skäl. MySQL:s dokumentation föreslår praktiska gränser men dessa varierar något beroende på den karaktärsuppsättning som används.
Exempel på giltiga kolumnnamn:
* `user_id`
* `FirstName`
* `Order_date`
* `_private_note`
* `Produkt123`
Exempel på ogiltiga kolumnnamn:
* `1st_name` (börjar med ett nummer)
* `Användarnamn '(innehåller ett utrymme)
* `Användar-id` (innehåller en bindestreck)
* `Välj '(reserverat ord)
* `Beställningsdatum '(innehåller ett utrymme)
bästa metoder:
* Använd små bokstäver med understreck (`Snake_case ') för läsbarhet:` user_information`
* Vara beskrivande:`customer_email_address` är bättre än` e -post "
* Håll namnen kortfattade, men beskrivande nog för att förmedla deras syfte.
Om du har ett kolumnnamn som bryter mot dessa regler kommer du att stöta på ett fel när du försöker skapa en tabell eller ändra dess struktur. Att använda backticks (`) för att omsluta kolumnnamnet * kan * låta dig använda ett ogiltigt namn, men detta rekommenderas i allmänhet inte eftersom det minskar läsbarheten och kan leda till portabilitetsproblem. Det är mycket bättre att skapa giltiga namn som följer bästa praxis.