| Bug #10779 | table names with certain numerical character sequences not accepted | ||
|---|---|---|---|
| Submitted: | 20 May 2005 21:55 | Modified: | 21 May 2005 11:53 |
| Reporter: | Stephen Brueckner | Email Updates: | |
| Status: | Not a Bug | Impact on me: | |
| Category: | MySQL Server: Command-line Clients | Severity: | S2 (Serious) |
| Version: | 4.1.12 | OS: | Windows (Windows XP) |
| Assigned to: | CPU Architecture: | Any | |
[20 May 2005 21:55]
Stephen Brueckner
[21 May 2005 2:05]
MySQL Verification Team
c:\mysql\bin>mysql -uroot test Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 to server version: 4.1.12-nt Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> create database oris; Query OK, 1 row affected (0.05 sec) mysql> use oris; Database changed mysql> create table foo ( col1 varchar(50) ); Query OK, 0 rows affected (0.13 sec) mysql> create table `8981e56cce5d` ( col1 varchar(50) ); Query OK, 0 rows affected (0.05 sec) mysql> create table `8984444cce5d` ( col1 varchar(50) ); Query OK, 0 rows affected (0.06 sec) mysql>
[21 May 2005 11:53]
Sergei Golubchik
Right, you can quote identifiers, as a workaround. The problem is that when you write 8981e56cce5d, MySQL starts parsing the string, and see 8981e56 and thinks it's a floating point number in the scientific notation. When it reads the next character 'c' it's a syntax error. In general any name that starts with digits, and 'e' will be a problem.
