0

MySQL 表名是否区分大小写?因为我有一个小写的名为“eventai”的表,并且正如我的调试文件所说:[23:50:29] CMySQLHandler::Query(DELETE FROM Eventai) - An error has occured. (Error ID: 1146, Table 'airidas?36_....Eventai' doesn't exist)它找不到名为“Eventai”的表。

来自调试文件的连接信息:

[23:50:29]  
[23:50:29] ---------------------------
[23:50:29] MySQL Debugging activated (05/13/13)
[23:50:29] ---------------------------
[23:50:29]  
[23:50:29] >> mysql_connect( )
[23:50:29] CMySQLHandler::CMySQLHandler() - constructor called.
[23:50:29] CMySQLHandler::CMySQLHandler() - Connecting to "77.241.197.235" | DB: "airidas?36_..." | Username: "airidas_36" ...
[23:50:29] CMySQLHandler::Connect() - Connection was successful.
[23:50:29] CMySQLHandler::Connect() - Auto-Reconnect has been enabled.
[23:50:29] >> mysql_ping( Connection handle: 1 )
[23:50:29] CMySQLHandler::Ping() - Connection is still alive.

编辑:现在工作,不要回应

4

1 回答 1

1

在 MySQL 中,数据库对应于数据目录中的目录。数据库中的每个表对应于数据库目录中的至少一个文件(可能更多,取决于存储引擎)。因此,底层操作系统的大小写敏感性在数据库和表名的大小写敏感性中起作用。这意味着数据库和表名在 Windows 中不区分大小写,而在大多数 Unix 中区分大小写。

尽管在某些平台上数据库和表名不区分大小写,但您不应在同一语句中使用不同大小写来引用给定的数据库或表。以下语句不起作用,因为它同时引用了 asmy_table和 as的表MY_TABLE

mysql> SELECT * FROM my_table WHERE MY_TABLE.col=1;

参考

于 2013-05-13T21:10:07.247 回答