Can MySQL Tables Be Named Using Only Numbers?
While designing a program that dynamically creates tables, a common question arises: can table names consist solely of numbers in MySQL?
Table Naming Conventions in MySQL
As a relational database management system, MySQL follows specific rules for naming identifiers, including tables. According to the official documentation, an identifier may start with a digit but cannot be composed entirely of numbers.
To understand this, consider the following statement:
SELECT * FROM 12345;
This query is invalid because "12345" is an unquoted number.
However, there are two exceptions to this rule:
1. Quotes
Enclosing a numeric string in quotes allows it to be used as a table name:
SELECT * FROM `12345`;
2. ANSI Mode
If the ANSI quotes mode is enabled, the following syntax is valid:
SET @@session.sql_mode=ANSI_QUOTES; SELECT * FROM "12345";
In conclusion, while MySQL generally does not allow table names to consist solely of numbers, it provides two methods to override this restriction: using quotes or setting the ANSI quotes mode.
The above is the detailed content of Can MySQL Tables Be Named with Only Numbers?. For more information, please follow other related articles on the PHP Chinese website!